2019년 6월 20일 목요일 30th
Deep Learning
2개 이상의 Perceptron 을 연결하여
많은 Layer 로 구성된 기계학습 을
Deep Learning이라고 부른다
인공지능 발전에 기여한 인물들
사진 출처: brunch
Frank Rosenblatt’s Perceptron
1 | 1957년 Frank Rosenblatt에 의해 고안된 인공신경망의 한 종류로써 Perceptron이 발표되었습니다 |
Perceptron 학습 방법
입력값의 결과값을 1과 0으로 분류하고 실제값과 예측값의 활성함수 리턴값이 다를 경우 가중치를 조정하며 최적의 가중치를 찾아간다
1 | AND Gate를 만든다고 가정하자 |
Bernard Widrow’s Adaline
Adaline(Adptive Linear Neuron)은 신경세포의 초기 모델.
Adaline
입력값의 결과값과 실제 결과값을 비교하여 오차가 최소가 되도록 가중치를 찾아간다
예시
1 | 구구단에서 2단을 학습시키기 위한 딥러닝 이라고 가정 했을때 |
Perceptron vs Adaline
요약하면 Perceptron은 임계값을 1로 잡고 입력값의 결과가 1이 넘어가면 활성함수에 의해 예측값이 나오고 실제값과 예측값이 다를 경우 가중치를 조정한다.
Adaline은 입력값의 결과가 예측값이 되고 활성함수(실제값-예측값)의 리턴값을 최소화 하는 방향으로 가중치를 찾아간다는 점에서 차이가 있다.
Neuron’s communication
1 | 뉴런이 휴지상태일때 막전류가 -70mv 극성을 띄는데 뉴런에 자극이 가해지면 이온통로가 열리고 |
Adaline과 Neuron
Adaline | Neuron
Input Data | 타 뉴런들의 자극들
Weight | 수상돌기
Node | 세포체
Activation Function | 축삭돌기(휴지 상태=>활동전위)
Output Data | 축삭돌기 말단, 신경전달 물질
Paul Werbos’s MLP
1 | 1974년 하버드대 폴 워보스는 다층 퍼셉트론환경에서 학습을 가능하게 해주는 |
Yann LeCun & David Rumelhart & Geoffrey Everest Hinton
1 | 저널에 발표되고 2년뒤 1984년에 신경망 연구로 박사논문을 준비하던 얀 레쿤이 |
Scikit Perceptron
1 | import seaborn as sns |
loss, cost, objective function
loss, cost : 실제값 - 예측값
즉, 값이 작아질 수록 정확해진다는 의미
objective : 유사도
즉, 비슷하면 비슷할 수록 값이 커지고 값이 크면 정확해진다는 의미
오차를 구하는 방법도 여러가지이다.
Feed-forward vs Back-Propagation
Feed-forward: 벡터연산(행렬), 앞으로 나아가는 연산
Back-Propagation: 미분(편미분)
Vanishing gradient problem
기울기 값이 사라져 학습이 안되는 문제
relu 알고리즘으로 이러한 문제 해결!
Neural network 표현방식
1 | 1. 전통적인 머신러닝 방식으로 표현 |
Graphical neural network
Tensorflow
절차
1 | 0. import |
예시
1 | !pip install tensorflow==2.0.0b1 # 설치 |
Keras쓰는 4가지 방식
아직 완벽하게 복습이 되지 않아 부정확한 내용이 있을 수 있음을 알려드립니다…
Perceptron : tistory
Adaline, gradient descent : m_blog
Vanishing gradient problem : tistory
ReLu: tistory
인공지능 그림으로 배우기: brunch
CNN: tistory
복습시간 19시 10분 ~ 22시, / 총 2시간 50분
2019년 6월 27일 목요일 34th
Pandas 시계열 분석
Deep Learning에서 Overfitting 막는 방법
1 | 1. 앙상블 |
Deep Learning에서 중요한것은?
Data vs Algorithm
출처: Peter Norvig’s The Unreasonable Effectiveness of Data 논문
Peter Norvig의 논문에서도 알 수 있듯이 복잡한 문제에서 딥러닝의 성능이 좋으려면
좋은 알고리즘 보다는 더 많은 데이터가 중요하다는 것을 알 수 있다.
하지만 데이터 확보가 어려운 경우도 많고 중간 규모의 데이터는 매우 흔한 일 이기 때문에
알고리즘의 중요성 또한 무시할 수 없다.
당신의 데이터는 일반적입니까?
Machine Learning, Deep Learning에서 학습시키는 Label data는 항상 정답이라는 가정을 했었습니다.
그런데 과연 그 정답 데이터가 진짜 현실세계에서 정답 데이터 인지 확신할 수 있을까요?
그리고 데이터를 수집한 사람이 혹은 시스템이 편향된 데이터를 수집하지는 않았을까요?
좋은 데이터를 갖고 있다고 가정하더라도 학습을 시키는 사람에 따라서 편향된 모델이 나올 수 있다는 것을 명심하자
데이터는 공정한 데이터 여야 한다.
공정한 데이터… 기준이 불명확하고 사람마다 공정성의 기준이 다를 수 있으니
사람이 저지르는 편향 유형을 살펴보고 편향된 데이터인지 판단하는 눈을 기르도록 하자.
편향의 유형
1 | 1. 보고편향 |
1. 보고 편향
1 | 보고 편향은 수집된 데이터의 속성 및 결과의 빈도가 실제 빈도를 정확하게 반영하지 않을때 나타납니다. |
2. 자동화 편향
1 | 자동화 편향은 두 시스템의 오류율과 관계없이 자동화 시스템이 생성한 결과를 비 자동화 시스템이 |
3. 표본 선택 편향
1 | 1. 포함 편향 |
4. 그룹 귀인 편향
1 | 1. 내집단 편향 |
5. 내재적 편향
1 | 1. 확증 편향 |
머신러닝 단기집중과정 (편향 출처) : google
Tensor board
1 | %load_ext version_information |