분류 전체보기154 [딥러닝] 배치 정규화(Batch Normalization) 정규화 일반적인 2가지 정규화 표현 방법이다. 기본적으로 정규화를 하는 이유는 학습을 더 빨리하고, Local optimum 문제에 빠지는 가능성을 줄이기 위해서이다. 아래의 그림을 보면 최저점을 찾을 때 정규화를 하지 않으면 global optimum지점을 찾지 못하고, local에 머물러 있게 되는 문제가 발생한다. 이러한 문제점은 정규화로 local optimum에 빠질 수 있는 가능성을 낮춰주게 된다. Internal Convariate Shift Convariate Shift: 이전 레이어의 파라미터 변화가 현재 레이어의 입력 분포에 영향을 끼치는 현상 Internal Convariate Shift: 레이어를 통과할 때 마다 Convariate Shift 가 일어나면서 입력의 분포가 약간씩 변하.. 2022. 3. 13. [딥러닝] 가중치 초기화(Weight Initialization) 가중치 초기화의 중요성 왼쪽 그림은 평균이 0 표준편차가 1 인 경우이고, 오른쪽 그림은 평균이 0 표준편차가 0.01인 경우이고. 각각 시그모이드 함수를 적용하였다. 왼쪽 같은 경우에는 값이 0과 1에 수렴되고, 오른쪽은 0.5에 수렴된다. 뉴런 네트워크에서 backpropagation으로 가중치를 업데이트할 경우 활성화 함수의 출력 값이 0이나 1에 가까운 값이면 업데이트가 이루어지지 않고, 뉴런의 활성화 함수의 출력 값이 비슷하면 여러 개로 구성하는 의미가 사라지게 된다. Xavier Glorot Initialization 이전 노드와 다음 노드의 개수에 의존하는 방법이다. Uniform 분포, Normal분포 이 두가지 방법이 사용된다. 이전에 Random으로 주어졌을 경우보다 더 고르게 퍼져있음.. 2022. 3. 13. [딥러닝] CNN(Convolutional Neural Network)의 이해 CNN(Convolutional Neural Network)의 필요성 기존 DNN의 경우에는 기본적으로 2차원이나 3차원 데이터를 Flatten으로 1차원 형태로 변형시켜 사용한다. 28 x 28의 흑백 이미지는 768개의 1차원 형태로 입력을 받는다. 하지만 요즘 이미지는 500 x 500 이 그냥 넘는다. 이것을 1차원으로 나열했을 시에 250000개의 입력 데이터가 주어지고, 여기에 따른 가중치를 계산하면 시간이 매우 많이 소요된다. 그리고 이미지가 중앙이나 왼쪽 오른쪽에 고정돼서 나오는 것이 아니라 여러방향으로 주어진다. 만약 강아지를 분류하는 모델에서 사람과 강아지가 같이 나온 사진이 있으면 강아지를 찾지 못하고 사람을 강아지로 인식할 수도 있다는 이야기이다. 그래서 나온 것이 CNN이다. CN.. 2022. 3. 11. [딥러닝] 딥러닝의 모델 Datasets tf.keras의 내장되어있는 datasets인 fashion_mnist로 예를 들겠다. import numpy as np import pandas as pd from tensorflow.keras.datasets import fashion_mnist (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() print('train dataset shape:', train_images.shape, train_labels.shape) print('test dataset shape:', test_images.shape, test_labels.shape) import matplotlib.pyplot a.. 2022. 3. 10. 이전 1 ··· 19 20 21 22 23 24 25 ··· 39 다음