Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

코딩로그

8. 딥러닝의 기본 개념과, 문제, 그리고 해결 본문

코딩로그/모두를 위한 딥러닝

8. 딥러닝의 기본 개념과, 문제, 그리고 해결

hyeonnny 2020. 1. 11. 14:14

<딥러닝의 시작>

 

  • 뉴런의 구조 : 어떠한 input(x*w)가 뉴런에 정해지면 뉴런에서 일정한 가중치(b)가 더해져 일정치를 넘으면 output을 내보내고, 아니면 아무 반응도 하지 않는다. 이를 본따 만든 것이 activation function이다.

  • 사람들은 다이얼과 선을 이용해 이를 물리적으로 구현하기도 했다.

 

  • 이를 통해 and(전부 1이면 +, 이외에는 -를 출력)와 or(둘 중 하나라도 1이면 +를 출력)을 예측 할 수 있는 모델을 만들었다. 왼쪽의 그림과 같은 선을 긋는 것이다. 그런데 오른쪽 그림과 같은 경우(xor 문제) 어떻게 선을 그어도 구분을 하기가 힘들다.

 

<딥러닝의 첫번째 침체기>

  • 문제 : Marvin Minsky는 xor문제를 기존의 방법으로 풀 수 없음을 수학적으로 증명했다. 문제를 해결하기 위해서는 층을 여러개 하는 수밖에 없으며, 또한 각각의 층에서 weightbias는 학습시킬 수가 없다고 하였다.-> 딥러닝 후퇴

  • backpropagation(오차역전파) 법을 통해 이를 해결하였다. 예측값에서 뒤로 돌아오면서 wb를 수정하는 방식

오차 역전파법

  • convolutional neural networks을 통해 해결 고양이의 시신경이 그림의 형태에 따라 일부의 뉴런만 활성화되는 것 발견 -> 부분부분 신경망을 구성하고, 이를 나중에 조합하는 방식인 cnn개발. 

  • 90%의 정확도를 보였으며, 이를 이용해 1984~1994에 자율주행자동차가 개발되기도 하였다.

 

<딥러닝의 두번째 침체기>

  • 문제 : 너무 많은 층에서는 잘동작하지 않는 문제 발생, 그림과 같이 층이 10개 이상이 되면 잘 작동하지 않았다. 역전파가 너무 많은 층을 거치며 그 의미가 거의 사라졌기 때문이다.

  •  deep learning : 층이 깊은 신경망이라도 초깃값을 잘 주면 문제를 해결할 수 있다.

  •  alexnet등 다양한 deeplearning network 가 개발되며 성능이 비약적으로 향상

 

<실습 - Tensor Manipulation>

  • 딥러닝을 본격적으로 시작하기 전 TensorFlow를 여러가지로 조작하며 익숙해지자.