민공지능/딥러닝 & 머신러닝(12)
-
역전파(backpropagation), 경사하강법 계산
역전파 : https://www.youtube.com/watch?v=8300noBbCRU 경사하강법 : https://www.youtube.com/watch?v=YIgLpsJ-1J4
2021.06.22 -
Language(python, C/C++, Java)
python 가독성이 높고 쉬운 문법 덕택에 다른 프로그래밍 언어보다 빠른 습득이 가능하다는 특징이 있다. 스크립트 언어(script language) 컴파일 과정 없이 interpreter(해석기)가 소스 코드를 한 줄씩 읽고 곧바로 실행하는 스크립트 언어이다. (컴파일 언어는 인간이 작성한 코드를 기계어로 번역해 실행하는 것으로 실행 및 수정에 비교적 많은 시간을 소요하지만, 한 번 기계어로 번역되면 빠른 실행 속도를 보여준다. 동적 타이핑(dynamic typing) 변수의 자료형을 지정하지 않고 단순히 선언만해도 값을 지정할 수 있다. 독립적인 플랫폼(Platform-independent) Linux, Unix, Windows, Mac 등 대부분의 운영체제(Operating System, OS)에..
2021.05.29 -
머신 러닝(Machine Learning)?
머신러닝은 기존 데이터를 이용해 아직 일어나지 않은 미지의 일을 예측하기 위해 만들어진 기법이다. 머신러닝은 주어진 데이터로부터 결과를 찾는 것에 초점을 맞추는 것이 아니라, 주어진 데이터로부터 규칙성을 찾는 것에 초점이 맞추어져 있다. 이런 과정을 학습(training)이라고 한다. 머신러닝 기술을 적용해서 대용량의 데이터를 분석하면 겉으로는 보이지 않던 패턴을 발견할 수 있다. 이를 데이터 마이닝(data mining)이라고 한다. 머신러닝 시스템의 종류 학습하는 동안의 감독 형태나 정보량에 따라 지도 학습, 비지도 학습, 준지도 학습, 강화 학습 등 네 가지 주요 범주가 있다. 지도학습 알고리즘에 주입하는 훈련 데이터에 label(레이블)이라는 원하는 답이 포함된다. classification(분류..
2021.05.29 -
하이퍼파라미터 튜닝이란?(3)
네트워크를 구성할 때 사람이 조정해야 하는 파라미터가 존재한다. 이를 하이퍼파라미터라고 한다. 하이퍼파라미터 : - 은닉층 수, 은닉층의 채널 수 → 예 : model.add(Dense(128)) - drop out 비율 - 활성화 함수(activation) - 학습률(learning rate) - batch_size - epoch 수 - 오차 함수(loss) - 최적화 함수(optimizer) 장점 / 단점 Optimizer(최적화 함수) Gradient descent로 W를 업데이트 하는 알고리즘 GD(Gradient descent) 최적의 값을 찾기 위해 한 칸 전진할 때마다 전체를 고려해서 한 번씩 가중치를 수정하는 것은 시간이 너무 오래 걸린다. SGD(Stochastic Gradient Des..
2021.05.23 -
하이퍼파라미터 튜닝이란?(2)
네트워크를 구성할 때 사람이 조정해야 하는 파라미터가 존재한다. 이를 하이퍼파라미터라고 한다. 하이퍼파라미터 : - 은닉층 수, 은닉층의 채널 수 → 예 : model.add(Dense(128)) - drop out 비율 - 활성화 함수(activation) - 학습률(learning rate) - batch_size - epoch 수 - 오차 함수(loss) - 최적화 함수(optimizer) learning rate(학습률) 각 층의 가중치를 한 번에 어느 정도 변경할지 결정하는 하이퍼파라미터다. 1번 : 학습률이 너무 낮아서 거의 갱신되지 않는다. 2번 : 적절한 학습률이므로 적은 횟수로 값이 수렴하고 있다. 3번 : 수렴하지만 값이 크므로 갱신 방법에 낭비가 있다. 4번 : 학습률이 너무 커서 퍼..
2021.05.23 -
하이퍼파라미터 튜닝이란?(1)
네트워크를 구성할 때 사람이 조정해야 하는 파라미터가 존재한다. 이를 하이퍼파라미터라고 한다. 하이퍼파라미터 : - 은닉층 수, 은닉층의 채널 수 → 예 : model.add(Dense(128)) - drop out 비율 - 활성화 함수(activation) - 학습률(learning rate) - 최적화 함수(optimizer) - 오차 함수(loss) - batch_size - epoch 수 은닉층 수, 은닉층의 채널 수 네트워크 구조(은닉층 수, 은닉층의 유닛 수)는 자유롭게 설정할 수 있다. 수를 많게 하면 다양한 함수를 표현할 수 있지만 입력층에 가까운 가중치를 적절하게 갱신하기 어렵고 학습이 좀처럼 진행되지 않는다. 또, 중요성이 낮은 특징량을 추출해버려 과학습하기 쉬워질 수 있다. 그래서 적..
2021.05.23