본문 바로가기

neuralnetwork4

[DLBasic] 9-2. BackPropagation 저번 시간에 이어서 W1, W2, b1, b2를 어떻게 설정하는 것이 좋을지 알아보도록 하겠다. 우리가 최종적으로 구하고 싶은 것은 cost function이 최소가 되는 weight과 bias이다. cost function의 최소값을 구하려면 이전에도 사용했었던 gradient descent를 사용해야하고, 이 때 미분을 사용한다. 그런데 Neural Network에 이 미분을 적용하려면 노드의 개수도 많아지고 중간에 sigmoid 함수 등을 사용하기 때문에 input, 중간 값들이이 output값에 미치는 영향을 알기가 힘들고 계산하기도 힘들다는 문제가 있었다. 이전에도 설명했듯이 Back Propagation을 이용해서 뒤에서부터 에러를 전달해서 앞에서 어떻게 weight과 bias를 설정할지 정할.. 2020. 1. 17.
[DLBasic] 9-1. Neural Nets(NN) for XOR 저번 시간에 설명했듯이 큰 골치거리였던 XOR을 Neural Network로 해결할 수 있게 됨으로써 딥러닝의 큰 발전이 가능했다. 이번 시간에는 어떻게 XOR을 Neural Network로 해결할 수 있는지 알아보도록 하겠다. 기존의 neural network 하나로 AND나 OR은 해결할 수 있었지만 XOR은 neural network 하나로 해결할 수 없었기에 딥러닝의 큰 난관이었고, 이후에 neural network 여러 개로 해결할 수 있다는 점은 알아냈지만 각각의 weight과 bias를 학습하는 것이 불가능하다는 입장이었다. 위와 같이 weight이 5,5이고 bias가 -8인 NN에서 나온 값을 y1으로, weight이 -7,-7이고 bias가 3인 NN에서 나온 값을 y2로 입력을 받아서.. 2020. 1. 17.
[DLBasic] 8-2. Back-propagation과 Deep의 출현 저번 시간에 neural network의 등장과 XOR 문제를 해결하기 위해서 back propagation과 CNN이 등장하게 된 배경을 배웠다. 하지만 Back Propagation이 여러 층에 사용되었을 때 input으로 점점 되돌아갈수록 error가 점점 약해져서 결국 학습에 영향을 줄 수 없다는 문제가 생겼었다. 위의 CIFAR이라는 단체는 당장 활용도가 없어도 연구를 하도록 장려했다. 이전에 외면을 받은 Neural Network에 대해 지원을 해줌으로써 지금의 딥러닝이 이루어질 수 있다고 할 수 있겠다. CIFAR의 지원으로 Hinton과 Bengio 교수님께서 큰 breakthrough가 될 논문을 발표했다. 이 논문은 여태까지는 깊은 신경망은 학습할 수 없다고 했는데 초기값을 잘못 주었기.. 2020. 1. 16.
[DLBasic] 8-1. 딥러닝의 기본 개념 : 시작과 XOR 문제 딥러닝이 어떻게 생겨나게 되었는지 알아보도록 하겠다. 생활을 더 편리하게 기계가 일들을 처리하게 하기 위해 우리의 뇌처럼 기계가 사고해서 알아서 일을 잘 처리할 수 있게 해야했다. 우리의 뇌는 뉴런이 신호를 전달받아서 받은 input에 weight을 곱한 값들을 다 합친 다음 bias라는 값이 더해져서 전달된다. 이 합이 어느 정도 이상이면 활성화가 되고 넘지 못하면 활성화가 되지 않는다. 이런 뉴런을 위와 같이 구상해볼 수 있다. 이전 시간에 배웠던 logistic regression을 적용하여 여러 단계로 구성하여 모으면 오른쪽과 같은 형태가 될 것이다. 이 기계를 위와 같이 하드웨어로 직접 만들 수 있다. 이것이 많은 사람들의 관심을 끌자, 하드웨어를 만든 박사님이 그 기계가 걷고, 말하고, 보며 .. 2020. 1. 16.