7주차 시간표
다음주에 있을 머신러닝 프로젝트를 위해 이번주 중으로 머신러닝 프로젝트를 마쳐야 했다. 저번주에 1주차 내용만 들었을때의 나의 감상은 음... 모르겠다! 였다. 그리고 4주차까지 다 마친 지금은 음... 진짜 모르겠다! 이다. 이미 러닝이 완료된 프로그램을 가져와 사용하는 것은 어느정도 하겠는데 머신을 처음부터 딥러닝 시키는것은 이해도 안가고 어렵기만하다. 당장 다음주가 머신러닝 프로젝트라고 하는데 이정도의 이해도로 잘 해낼수 있을지 벌써 걱정이다.
실전 머신러닝 적용 원격강의
-2주차~4주차
딥러닝이란?
딥러닝의 다양한 개념과 기법
배치 사이즈와 에폭
활성화 함수
과적합과 과소적합
데이터 증강
드랍아웃
앙상블
학습률 조정
딥러닝의 역사
딥러닝의 태동을 불러온 XOR 문제
딥러닝의 발전을 가져온 아이디어인 역전파
딥러닝의 주요 개념
batch size(배치 사이즈) : 전체 트레이닝 데이터 셋을 여러 작은 그룹을 나누었을 때 하나의 소그룹에 속하는 데이터 수
epoch(에폭) : 전체 트레이닝 셋이 신경망을 통과한 횟수 의미
iteration(이터레이션) : 1-epoch를 마치는데 필요한 미니배치 갯수 혹은 1-epoch를 마치는데 필요한 파라미터 업데이트 횟수
Activation Function(활성화 함수) : 입력 신호의 총합을 출력신호로 변환하는 함수
과적합(Overfitting) : 모델이 훈련데이터에만 특수한 성질을 과하게 학습해 일반화를 못해 결국 테스트데이터에서 오차가 커지는 현상
과소적합(Underfitting) : 훈련데이터에 과적합도 못하고 일반화 성질도 학습하지 못해, 훈련/테스트 데이터 모두에서 오차가 크게 나오는 경우
딥러닝의 주요 스킬
Data augmentation(데이터 증강기법) : 갖고 있는 데이터셋을 여러 가지 방법으로 증강하여 실질적인 학습 데이터셋의 규모를 키울 수 있는 방법
Dropout(드랍아웃) : 서로 연결된 연결망에서 0부터 1 사이의 확률로 뉴런을 제거하는 기법
Ensemble(앙상블) : 여러 개의 분류기를 생성하고, 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법
Learning rate decay(Learning rate schedules) : 딥 러닝 신경망이 확률적 경사 하강법 최적화 알고리즘을 사용하여 훈련하는데서 나온 파라미터
원격강의는 지금까지 이런식으로 강의노트를 요약해서 나름 핵심정리 노트처럼 TIL에 작성을 해왔는데 앞으로는 이것보다는 강의를 보고 따라하고 실습내용을 구현하면서 나온 내용을 깃허브에 남겨서 해당 깃허브 주소를 남기는 식으로 TIL과 WIL을 작성하도록 변경해야겠다. 무엇보다 이론을 위주로 공부하다보니까 내용이 어려우면 이해에 시간이 많이걸리고 실습 위주의 강의에서는 내용정리를 하기 힘들어서 결과물이 빈약해지는 것 같아서 새로운 방식을 채용하는 것이 훨씬 좋아보인다.
10.12 머신러닝 특강
-이상호 튜터님
상호 튜터님의 특강은 처음 들어봤는데 잔잔한 맛이 있는 강의였다. 이미 딥러닝이 완료된 라이브러리로 머신러닝을 돌려 사물인식을 하는 크게 어렵지 않았다. 다만 내가 직접 딥러닝을 통해 프로그램을 만들어야한다면 그땐 어려움을 많이 겪을 것 같아서 무섭다.
10.13 테스트 쪽지시험
- 이창호 튜터님
바로 전날에 배운 사물인식 기능을 활용한 테스트였다.
result1.png
people1.png
people2.png
people3.png
people4.png
people5.png
테스트 진행중 문제 발생
Problem
그런데 막상 작성한 코드로 나온 결과물을 확인해보니 원하는 사람부분이 잘린게 아니라 엉뚱하게 잘려 있었다. 내가 코드작성을 잘못했나 싶어서 여러번 새로 작성해보고 범위지정도 다시해보고 구글링도 새로 해보았지만 해결이 되지않아 결국 튜터님께 여쭤보는게 가장 빠르겠다는 생각에 점심시간이 끝나자마자 튜터님께 질문을 했다.
Solution
늘 그랬듯이 해결법은 아주 쉬운것이었는데 x축 y축 순서로 범위를 지정해 둔 것을 y축 x축 순서로 범위를 지정했더니 바로 해결이 되었다. opencv에서는 y축 즉 높이를 먼저 두고 넓이를 두어야 하는 것이다. 일반적으로는 x축이 먼저오는 경우가 많다보니 이런 실수를 하고 만 것이다. 덕분에 이것만 수정하니 금방 해결되었다.
10.14 장고 타임어택 구현 테스트
주어진 시간은 1시간 30분이었고 1시간 정도만에 끝냈지만 GitHub에 올리는데 오류가 발생해 제출시간을 못맞출뻔 했다. 다른 작업을 할때는 이상이 없다가 하필 타임어택 테스트를 할 때 갑자기 오류가 생겨서 당황스러웠다. 하지만 계속 이상태로 했다가는 언젠가 생길 오류였고 차라리 빨리 발견되어서 다행이라고 생각한다. 엉뚱한데에서 시간을 많이 잡아먹었지만 결국 테스트는 시간안에 끝을 냈으니 좋은게 좋은거라고 그냥 넘어가려고 한다.
이번 주를 마치며
이 주의 마지막날인 금요일에 TIL,WIL 관련 특강이 있었는데 보고 여러가지 생각이 들었다. 지금까지 잘못 쓰고 있었던 것들에 대해 돌아보는 시간을 가졌고 이번주 까지는 이전 방식으로 작성하던 TIL이 많았기 때문에 이번주 까지는 기존의 WIL양식을 그대로 담습해서 작성하도록 하고 다음주부터는 개선된 양식으로 작성을 해보도록 하겠다.