[강화시스터즈 1기] 기초 신경망 이론 및 구현
1주차 추가 세션
요약
추가 세션 : 딥러닝 첫 세션을 진행했습니다.
이 세션은 자발적인 스터디로 운영진의 지도 하에 진행됩니다.
이론 스터디는 정해진 토픽을 공부해오고, 조원들에게 발표하는 것으로 진행되었습니다. 모든 부분을 스스로 이해하는 것이 중요하기에, 조는 당일날 랜덤으로 정해졌습니다. 그럼에도 불구하고 모든 분들께서 열정적으로 자료와 발표를 준비해주셔서 성공적인 세션이었습니다. (멋진 강화인👍👍)
구현 주제는 개고양이 라벨을 섞고 학습시켜보자! 라는 테마로 진행했습니다.
딥러닝 이론
- 전연결 신경망의 구조 : input, hidden, output
- 노드와 파라미터(weight, bias)
- 활성화 함수
전연결 신경망 상세 구조, 노드와 파라미터, 활성화 함수와 같이 기초적이지만 중요한 개념들을 다지는 시간을 가졌습니다. 조별 발표 이후, 질의응답을 통해 조별로 나오지 않았던 이야기들을 추가적으로 들을 수 있는 시간을 마련했습니다.
딥러닝 구현
- CIFAR10의 개고양이 데이터를 랜덤으로 재라벨링 후 학습해보자!
- CIFAR10 데이터 셋에서 개고양이 라벨을 추출
- 라벨을 랜덤으로 뿌림
- 신경망 구현 및 학습 실시
[ 조건 ]
- 신경망은 자유
- dataset을 train, valid, test로 나눌 것
Dataset을 상속받아 사용하는 CustomClass, train-valid-test dataset와 같이 코테에서는 보지 못했던 여러 파이토치 코드, 딥러닝 개념이 필요했지만, 다 함께 힘을 합쳐 이겨냈습니다. 🙌 또한 일반적으로 학습이 되지 않을 것이라 예상했지만, 변지은 벗의 신경망에서는 학습이 되는 것 같은 양상이 관찰되어 다음주에 추가적인 시각화 및 분석을 진행하기로 했습니다.
핵심 내용
-
output layer의 노드 값은 확률이다.(X)
output layer의 값은 확률이 아닌, 각 노드가 얼마만큼 활성화 되었는지를 나타내는 점수다. Softmax 함수를 사용하면 확률처럼 보이게 만들 수 있지만, 이는 인간이 해석하기 편하게 값을 스케일링한 것일 뿐이다.
-
생각해봐요 ! CIFAR10은 33232 크기의 이미지다. 하지만 내가 학습을 위해 인터넷에서 개고양이 사진을 무작위로 다운받는다면, 스케일링은 일정하지 않다. 이때 발생할 수 있는 문제점과 해결방안을 생각해보자.