본문 바로가기
728x90
반응형

딥러닝9

밑바닥부터 시작하는 딥러닝 Chapter8 - 딥러닝 VGG 신경망 - 3*3의 작은 필터를 사용한 합성곱 계층(Conv) - 활성화 함수는 ReLU - 풀링 계층 추가해 중간 데이터의 공간 크기를 줄여나감 - 완전연결 계층 뒤에 드롭 아웃 계층 사용 완전 연결 신경망이란, 인접하는 계층의 모든 뉴런과 결합되어 있는 신경망을 말한다. 입력 데이터와 가중치가 1대 1로 대응하는 것을 완전 연결(Fully-Connected)이라고 하며, 행렬의 내적(Affine)으로 표현된다. - 드롭 아웃은 오버피팅(over-fit)을 막기 위한 방법으로 뉴럴 네트워크가 학습중일때, 랜덤하게 뉴런을 꺼서 학습을 방해함으로써, 학습이 학습용 데이타에 치우치는 현상을 막아준다. 일반적으로 CNN에서는 이 드롭아웃 레이어를 Fully connected network 뒤에 놓지만,.. 2022. 6. 29.
밑바닥부터 시작하는 딥러닝 Chapter7 - CNN 합성곱신경망 CNN은 이미지 인식과 음성 인식 등 다양한 곳에서 사용되는데 특히 이미지 인식 분야에서 대부분 CNN을 기초로 한다. 지금까지 본 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있다. 이것을 FCL(Fully Connected Layer) 완전 연결 계층이라고 한다. 완전연결 신경망은 Affine 계층 뒤에 활성화 함수를 갖는 ReLU/Sigmoid 계층이 이어져 있다. 위 그림에서는 'Affine-ReLU' 계층 조합이 4개 연달아 있고, 마지막 5번째 층은 'Affine-Softmax' 계층 조합으로 최종 결과인 확률을 출력한다. CNN에서는 새로운 층인 합성곱 계층 Convolutional layer 와 풀링 계층 Pooling layer 가 추가된다. 위 그림에서 볼 수 있듯이 CNN의 계층은 .. 2022. 6. 28.
밑바닥부터 시작하는 딥러닝 Chapter6 - 배치 정규화 input normalization - 전체 input 1000개에 대해서 -1 ~ 1 사이의 값을 갖게 하기 위해 N(0, 1) 로 정규화 한다. batch normalization - input normalization 후 50개씩 묶어서 20개의 배치를 만들었다고 했을 때 한 배치 안의 50개의 데이터의 평균과 분산이 N(0, 1) 이 아닐것이기 때문에 다시 정규화해주는 것이다. 배치 정규화를 사용하는 이유 - 각 층에서의 활성화값이 적당히 분포되도록 하기위해. 장점 - 학습 속도가 빠르다 : 적은 epoch 만으로도 LOSS 를 빠르게 줄일 수 있다. - 가중치 초깃값에 크게 의존하지 않는다. - 오버피팅을 억제한다.(드롭아웃 등의 필요성 감소) w 가 곱해지고 b가 더해지면 분포가 바뀌기 때문에.. 2022. 6. 27.
밑바닥부터 시작하는 딥러닝 Chapter6 - 가중치의 초깃값 w 를 모두 0으로 초기화할 경우 업데이트도 모두 같은 값으로 바뀐다. 이렇게 되면 제대로 된 학습이 이루어지지 않는다. 때문에 초깃값은 랜덤하게 설정해야 한다. 정규분포(가우시안 분포) 분산 : 표준편차 σ의 제곱 그래프의 면적은 1에 수렴한다. 왼쪽 두 그래프를 보면 표준편차 σ는 절반이지만 높이는 2배이다. sigmoid 함수에서의 가중치 w 초깃값 w 의 분포를 표준편차 σ를 1로 설정했을 경우 w ~ N(0, 1^2) 에 sigmoid 함수의 출력값(활성화값) 분포 각 층의 활성화값들이 0과 1에 치우쳐 분포되어 있다. 시그모이드 함수는 그 출력이 0 또는 1에 가까워지면 그 미분값은 0에 가까워진다. 그래서 데이터가 0과 1에 치우쳐 분포하게 되면 역전파의 기울기 값이 점점 작아지다가 사라진다.. 2022. 6. 26.
밑바닥부터 시작하는 딥러닝 Chapter6 - 학습 관련 기술들 등방성 함수 f(x, y) = x^2 + y^2 등방성 함수는 각 위치에서 기울어진 방향의 본래의 최솟값을 가리킨다. 따라서 등방성 함수의 경우 SGD를 이용해도 무방하다. SGD의 단점 비등방성 함수 비등방성 함수는 각 위치에서의 기울기가 가리키는 지점이 하나가 아니라 여러개이다. 기울기의 대부분은 최소값의 위치인 (0,0)을 가리키지 않는다. 이 상태에서 SGD를 적용하면 결과가 다음과 같다. 심하게 굽이진 움직임으로 상당히 비효율적이다. 위와 같은 SGD의 단점을 개선해주는 모멘텀, AdaGrad, Adam 에 대해 알아보자. 모멘텀 모멘텀은 '운동량' 을 뜻하는 단어 물리에서 p(운동량) = m(질량) * v(속도) 인데, 신경망에서는 질량을 1로 두고 운동량을 속도로만 나타낸다. 여기서 v 변수.. 2022. 6. 26.
728x90
반응형