사용자 도구

사이트 도구


2018_08

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
2018_08 [2018/08/13 09:36]
ehmoon
2018_08 [2018/08/16 07:54]
ehmoon
줄 234: 줄 234:
  
 계산해주는 프로그램 개발해야 함. 계산해주는 프로그램 개발해야 함.
 +
 +\\
 +\\
 +\\
 +
 +===== 14일 화요일 =====
 +
 +[Study]
 +
 +모두를 위한 머신러닝 lecture 7. ML의 실용과 몇가지 팁 부분 공부
 +
 +이번 챕터는 약간 짬뽕같은 느낌. 정리를 하자면
 +
 +(1) running rate
 +
 +(2) Overfitting
 +
 +(3) Regularization
 +
 +먼저 running rate같은 경우는 학습을 할때, 너무 러닝 rate을 너무 크게 잡으면
 +
 +overshooting 발생하여 데이터값이 위로 튀어버리고, 너무 작게 잡으면 gradient descent
 +
 +가 너무 느리게 돌아가므로 트레이닝이 끝났을때 optimal value를 찾아가지 못함.
 +
 +따라서 제대로 cost 값이 측정이 안된다면 running rate 의심해봐야 함.
 +
 +다음으로 overfitting 부분은 트레이닝을 많이 시킨다고 다 좋을것 같지만,
 +
 +오히려 너무 많은 트레이닝은 트레이닝 데이터에 의존되므로 좋지 못함.
 +
 +overfitting을 해결하는 방법으로는 3가지가 있음.
 +
 +(1) training data의 양을 늘림
 +
 +(2) feature의 개수를 줄임
 +
 +(3) regularization
 +
 +regularization은 feature 끼리의 분포가 너무 크거나 작을때 cost function을 그려보면 
 +
 +찌그러져버리는 현상이 생기는데 이때 사용하는 방법.
 +
 +모든 feature들의 range를 같은 범주로 정규화 시켜서 평평한 모양의 cost function을 만들어줌.
 +
 +lecture는 이정도 진행했고, lab으로는 running rate 오류나는 예제 찍어보고,
 +
 +텐서플로에서 제공하는 mnist 데이터 이용하여 image classification 실습해봄.
 +
 +\\
 +\\
 +\\
 +
 +===== 15일 수요일 =====
 +
 +공휴일
 +
 +\\
 +\\
 +\\
 +
 +===== 16일 목요일 =====
 +
 +[Study]
 +
 +모두를 위한 머신러닝 lecture 8. 딥러닝의 기본 개념 lecture 9. MNL과 Backpropagation
 +
 +본격적인 Deep Learning 부분에 접어 듬. 학부 및 석사 수업시간에 배울때보다 훨씬 깊이
 +
 +들어가서 이해하는데 시간이 걸렸지만 원론적으로 따라가다보니 이런 내용이었구나 신기함을
 +
 +느낌. 요약하자면, 기존의 머신러닝 및 뉴런을 사용한 러닝 기법들은 단층 Layer를 사용했었는데,
 +
 +이 방법은 선형 모델을 따르기때문에 XOR같은 비선형 문제는 해결하지 못함.
 +
 +그래서 해결책으로 제시된 방법이 다층 Layer를 설계하는 것.
 +
 +근데 이 역시도 문제가 있는게, 기존의 단층 Layer 모델에서는 신경망의 가중치를 학습시킬때
 +
 +cost function을 minimal 하게 optimization 하는 방향으로 일종의 learning 을 진행해 
 +
 +나갔었는데 다층 신경망이 되니, 각각의 perceptron에서의 미분 값 (즉, 각각의 perceptron들의 
 +
 +가중치가 최종 output에 얼마나 영향을 끼치는지의 정도)를 구하는데에는 막대한 계산량이 필요함.
 +
 +이유는 각 layer의 노드들끼리 input과 output이 연결되있는 구조 탓에 미분 값을 구하려면
 +
 +chain rull에 의해 이전 cost function의 결과 값을 알아야 하기 때문.
 +
 +그러나 이 한계를 가능하게 한 이론이 등장했는데, (사실 가능하게 했다기 보다는 약간의 규칙을 
 +
 +발견했고, 알고보니 생각보다 계산량이 적었다고 표현해야 올바름) 그것이 그 유명한
 +
 +Backpropagation 알고리즘. 이름 그대로 각 Layer의 가중치 값들을 역전파 시키면서 갱신해나가는
 +
 +방법. 이 방법은 뒤로 돌아올때 이미 계산해 놓은 미분값을 다음 뉴런에서 바로 이용할 수 있으므로
 +
 +chain rull의 한계를 교묘하게 넘어갈 수 있음.
 +
 +아무튼 이런 이론적인 바탕아래, Deep Learning이 가능해졌고, 비선형 문제들도 학습할 수 있는
 +
 +신경망이 구현 가능해짐.
 +
 +내일부터는 DNN 관련 코딩 실습해보고 나머지 진도 진행해야 함.
  
2018_08.txt · 마지막으로 수정됨: 2021/04/13 06:54 (바깥 편집)