본문 바로가기
머신러닝

머신러닝(Machine Learning) 11장 - 딥러닝(Deep Learning) 기본 개념 -

by ChocoPeanut 2017. 5. 29.

머신러닝(Machine Learning) 11

- 딥러닝(Deep Learning) 기본 개념 -

 

머신러닝의 목표는 복잡한 문제에 대해 사람의 힘없이 컴퓨터 스스로 해결을 하는 방법을 만들어내는 것이다. 이러한 목표의 시작은 뇌에 대한 공부에서 시작이 된다. 컴퓨터가 스스로 문제를 해결하기 위해서는 사람과 비슷하게 학습과 계산, 사고를 할 수 있어야 한다. 따라서 이런 부분에서 가장 모방을 할 수 있는 것이 바로 인간의 뇌이다. 사람의 뇌는 매우 복잡한 연결되어 있어 다양한 연산, 사고 처리 등이 가능할 수 있게 되어 있다. 그런데 그에 비해 각각의 신경 세포인 뉴런은 매우 단순하게 작동하고 있었다. 특정 input signals에 대한 값이 거리에 따라 w의 값에 의해 곱해지게 되고 이들의 합과 bias의 합으로 뉴런을 통과하게 된다. 이 합에 대한 값이 특정 역치(기준 값)를 넘게 되면 활성화가 되게 되고 넘지 못하면 비활성화가 되게 된다. 이에 대한 정보를 통대로 사람은 인지를 하게 된다.



위와 같은 형태를 Logistic regression에 적용시키게 되면 뉴런의 형태와 비슷한 모델이 만들어지게 될 수 있다.



처음에 나타난 딥러닝의 기본적인 문제 해결로 AND 문제와 OR 문제가 test 모델로 사용이 되었다. 두 개의 input 값을 통해 두 값을 비교해서 하나라도 1을 가지면 1을 나타나게 하는 OR 모델, 둘 다 1을 가져야만 1을 나타나게 하는 AND 모델이다. Linearly한 예측으로 인해 OR 모델 문제와 AND 모델 문제는 해결이 가능하다.



하지만 XOR 모델이 존재한다. XOR 모델은 위와 같이 두 개의 input을 가지는데 (1, 0) 일 때와 (0, 1)일 때 1의 값을 가지게 되고 (0, 0)(1, 1)의 값을 넣으면 0의 값을 나타나게 된다. 이러한 경우에는 Linearly한 방법의 예측으로 결과를 예측할 수 없게 된다.



이를 해결하기 위해 여러 개의 Layer를 사용하여 나타내면 XOR 문제를 풀 수 있을 것이라는 의견이 나왔지만 학습을 시키는 방법을 적용시킬 수가 없었다. 그 후 Backpropagation이라는 기법이 나타나게 되었다. Backpropagationerror를 구해서 layer를 뒤로 진행하면서 weightbias의 값을 바꾸어 가면서 학습을 시키는 방법이다. 하지만 Backpropagation은 경우에도 layer가 매우 커지게 되면 학습을 시키는 것이 매우 힘들다는 단점이 발생하게 된다. error에 대한 의미 전달이 매우 낮아지게 되기 때문이다.



하지만 이에 대한 해결 방법으로 초기 값에 대한 문제가 제기 된다. Deep Learning을 진행할 때 초기 값을 제대로 설정하게 되면 복잡한 문제더라도 사용하여 풀 수 있다는 결과가 나오게 되었다.