본문 바로가기
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
반응형