2023 동계 모각코 3회차 결과(2023년 1월 18일)

서지혜·2023년 1월 20일
0

2023동계모각코

목록 보기
5/8

⌚ 활동 시간 : 2023년 1월 18일 오후 8시 ~ 오후 11시
✨ 목표 : [모두의 딥러닝] 7~9장 공부

모두의 딥러닝 7 ~ 9장 내용을 공부하고 정리하였다.

🎈 7장

퍼셉트론과 XOR문제에 대해 다시 설명한다.
퍼셉트론은 입력값을 여러개 받아서 출력을 만든다. 이때 입력 값에 가중치를 조절할 수 있게 만들어서 최초의 학습이 가능하게 만들었다.
이후에는 퍼셉트론에 경사 하강법을 도입해서 최적의 경계선을 그릴 수 있게 하는 아달라인이 개발된다.
퍼셉트론은 XOR문제를 해결하지 못했다. 이로인해 인공지능 연구가 한동안 침체기를 맞게 되지만, 다층 퍼셉트론과 오차 역전파가 개발되면서 문제가 해결되었다.

(위 사진에서 XOR의 경우 1개의 선으로 검은 점과 흰 점을 구분하는 것이 불가능하다)

🎈 8장

XOR문제를 해결하기 위해 생각된 방법은 종이를 휘어 선 두개를 동시에 긋는 방법과 같았다.

XOR문제를 계산하기 위해서는 퍼셉트론 2개를 한 번에 계산하면 된다는 결론에 도달하였고 이를 위해 퍼셉트론 두 개를 각각 처리하는 은닉층을 만든다.
이를 풀어서 설명하면 XOR을 계산하기 위해 NAND와 OR을 AND하는 것이다.

주어진 논리식의 XOR결과는 NAND 연산 결과와 OR 연산 결과를 AND 연산한 결과와 같다.

여기서 NAND와OR가 은닉층의 역할을 한다.

은닉층과 출력층으로 전해지는 값은 해당 노드의 입력에 가중치를 곱하고 바이어스를 더하여 계산한 뒤, 그 값을 활성 함수에 넣어서 계산한다.
은닉층에서 사용될 가중치 데이터를 스스로 조절하는 학습 방법은 오차 역전파를 통해 개선되었다.

참고자료

🎈 9장

오차 역전파의 방식은 아래와 같다.

  1. 순전파 계산
    입력층에서 은닉층을 지나 출력층까지 거치면서 가중치의 초기값을 정한다.
  2. 역전파 계산
    경사하강법을 사용하여 계산한다. 출력층에서 나온 값과 실제 값을 비교하여 오차를 구한 뒤, 오차 공식을 구하여 기존 가중치 값을 편미분한다. 이러한 방법으로 출력층에서 입력층까지 가중치 값을 갱신한다.

오차 역전파의 방식을 이용하면 은닉층이 많아지더라도, out(1-out)의 형태를 유지한 식(델타식)으로 새로운 가중치를 계산할 수 있다.

활성함수로 시그모이드 함수를 사용하면 가중치 갱신이 첫번째 은닉층까지 갈 수 없다. 시그모이드 함수의 미분 값 중 가장 큰 값은 0.25인데 이는 1보다 작으므로 계속 곱하면 0에 가까워진다.
이것을 개선하기 위해 ReLU라는 새로운 활성화 함수가 제안되었다.

ReLU는 입력값 x가 0보다 작을 경우 모든 값을 0으로 처리하고, 0보다 큰 경우 x를 그대로 사용한다. ReLU를 활성함수로 사용하면 미분값이 1이 되므로 첫번째 은닉층의 가중치까지 갱신할 수 있다.

경사 하강법을 그대로 사용하면 계산량이 많아진다. 따라서 속도가 느리고 최적화 과정이 멈출 수 있다. 이를 보완하기 위하여 확률적 경사 하강법이 도입되었다. 이는 일부 데이터만 랜덤하게 사용하기 때문에 더 자주 가중치 갱신을 할 수 있고 빠르다.
지금은 아담(adam)이라는 고급 경사하강법을 많이 사용한다.

profile
개발자가 되고 싶은 감자

0개의 댓글