목록역전파 (4)
Dev log
저번 포스팅 때, 순전파와 역전파 원리를 간단하게 보고, class를 만들어봤습니다. 이번에는 활성화 함수를 넣어 조금 그럴듯한 신경망을 만들어보도록 하겠습니다. 활성화 함수를 사용하지 않고 열심히 신경망만 깊게 쌓기만 하면 깊게 쌓는 의미도 없을 뿐더라 그냥 단층 신경망이라도 봐도 무방합니다. 그렇기 때문에 꼭 넣어주어야 깊게 쌓는 의미가 있습니다. Relu Class 저번 포스팅에서 만들었던 Affine class는 냅두고 Relu(렐루) 클래스를 한번 만들어 보겠습니다. Relu 함수는 예전 포스팅에서 한번 다루었는데 혹시나 약간 개념이 헷갈리거나 다른 활성화 함수에 대해 알고 싶다면 여기를 눌러 참고해주세요. Relu의 특징은 0이하면 0을 출력하고 0을 넘으면 그냥 그대로 출력하는 비교적 간단하..
흔히들 역전파, 영어로 하면 backpropagation이라고 하는 용어를 한번쯤은 들어보셨을 거라 생각합니다. 인공지능은 어떻게 학습하는 것인지, 역전파는(backpropagation)가 무엇인지 알아보도록 하겠습니다. 역전파 (backpropagation) 역전파는 말이 어려워보이는 것 뿐이지, 생각보다 어려운 개념은 아닙니다. 역전파를 이야기 할때는 순전파라는 개념을 알아야 되기 때문에 함께 이야기 하겠습니다.우선 개념 이해를 위해 쉬운 예를 들어보도록 하겠습니다. 우리는 중간고사와 기말고사등과 같은 시험을 잘 보기위해 학교에서나 학원에서 수업을 듣고는 합니다. 이렇게 공부를 하고 우리는 시험을 보게 되는데, 이러한 과정을 순전파(forwardpropagation)라고 합니다. 반대로 역전파는 이러..
퍼셉트론(Perceptron)이란 무엇인지, 딥러닝의 역사에 대해 알아보겠습니다. 아시다시피 "딥러닝" 이라는 분야가 이렇게까지 뜨거워진지는 그리 오래되지는 않았습니다. 하지만 딥러닝 분야는 1943년부터 조금씩 조금씩 시작하고 있었습니다. 그렇다면 이제 퍼셉트론이 무엇인지, 역사가 어떻게 되는지 알아보겠습니다. History 1943년 미국의 신경외과 의사인 워렌 맥걸록에 의해서 발단이 되었습니다. 1957년 프랑크 로젠 블라크가 퍼셉트론 알고리즘을 보안했습니다. 사람의 뇌의 동작을 전기 스위치 on/off로 흉내낼 수 있다는 이론을 증명했습니다. Perceptron? 퍼셉트론은 인간의 신경세포 하나를 컴퓨터로 흉내낸 것을 말합니다. 인간의 신경세포라고해서 어려운 개념이 아닙니다. 고등학교 생물시간으로..
신경망이라는 것을 접하면서 미분, 기울기와 같은 말을 몇번 들어봤습니다.우리는 왜 미분을 사용하는 것인지, 미분이 필요한 이유와 도함수를 Python 으로 간단하게 구현해보도록 하겠습니다. 미분이 필요한 이유 미분이 필요한 이유는 기존의 가중치를 갱신하기 위해서 사용합니다. 하지만 진정한 미분은 컴퓨터로 구현하기 어렵기 때문에 중앙 차분 오차가 발생합니다. 그래서 컴퓨터로 미분을 구현하기 위해서는 수치 미분을 사용해야 합니다. 함수 y=f(x)에 대해서 x가 x0에서 x0+h 로 변화할 때, y의 값은 f(x0+h)로 변화한다고 할 때, 평균 변화율은 아래와 같습니다. 그림을 보면 h가 서서히 0으로 다가가면 할선은 접선으로 다가갑니다. 이를 코드로 구현하려면 h가 되었을때가 진정한 미분이라고 할수 있는..