TensorFlow DevSummmit 2019 Extended Songdo - Review
딥러닝 소개와 기초
인공지능
- 추상적
머신러닝
데이터로 컴퓨터를 학습시킬 수 있는 것
학습 데이터의 종류에 따라서 지도학습, 비지도학습, 강화학습으로 나뉜다.
지도학습
- input,label(정답)을 이용하여 학습
딥러닝
인공 신경망을 데이터를 통해서 원하는 결과를 도출하는 것
선형회귀
- 추론할때 사용하는 딥러닝
활성화 함수
은닉층의 활성화 함수는 항등함수를 포함해 선형 함수가 되면 안된다.
불필요한 계층이 된다.
출력층의 활성화 함수
- 해결하고자 하는 문제의 성질에 맞게 설정
옵티마이저
- 산 내려오는 작은 오솔길 찾기같은 방법
오차역전파
- 은닉층이 많고 각 층에 노드가 많으면 weight값을 최적화 시키기 위한 계산이 많아짐
- 경사도 하강법에서 gradient를 계산하기 위한 미분에 너무 많은 계산이 필요
- 체인롤과 편미분을 이용하여 각weight가 오차에 미치는 방향과 오차를 계산해내는 방법.
- 계산이 쉬워져 쉽게 weight 값을 최적화 시킬 수 있다.
vanishing gradient 현상
- 은닉층이 많은 깊은 망을 학습시킬때 output에서 멀어질수록 학습이 안되는 현상
- 새로운 활성화 함수로 ReLU계열의 활성화 함수를 사용.
MNIST
- 손 글씨 숫자 이미지 데이터베이스
- 28*28 픽셀의 그레이스케일 이미지
- label(정답)이 있는 60000개의 트레이닝 이미지와 10000개의 테스트 이미지
예시를 보여주신다고 했는데 망했다
퍼셉트론
인간의 뉴런을 수학적으로 모델링한 최초의 모델
한계
- or게이트, and게이트 nand 게이트를 만들 수 있다.
- 그렇지만 하나의 선으로 xor게이트를 만들 수 없다.
해결
- 퍼셉트론을 멀티로 쌓아 올려서 해결 (MLP)
- 모든 논리게이트 표현 가능
쉽게 설명하는 알파고의 원리
Monte Carlo Tree Search 알고리즘
너비와 깊이를 줄여 경우의 수를 줄이는 알고리즘
Policy Network
- 어디에다 놓으면 좋을지 판단하는 네트워크
Value Network
- 판세를 읽는 네트워크
SL Policy
- 지도학습
- input, label(정답)으로 학습
- 13 레이어의 CNN 학습
Rollout Policy
- 지도학습
- 빠른 시뮬레이션을 위한 작은 네트워크
RL Policy
- SL Policy와 동일한 형태의 네트워크
- reinforce알고리즘 사용
- 먼저 SL Policy의 weight로 초기화
Value Network
- RL Policy를 따랏을 때에 누가 이길지 예측하는 네트워크
- 아랫단은 SL 네트워크와 동일하나 윗단이 single output
- selection
- expansion
- evaluation
- backup
단계로 나뉨
TensorFlow 2.0 & API & Hub
TensorFlow
복잡함
Keras, Pytorch에 비해 어렵게 느껴짐
TensorFlow 2.0
- 전역 매커니즘 제거
- 파이선 변수를 추적하는 기본 매커니즘 사용
Autograph
- 일부 파이선 문구/함수를 tf문구로 자동 변환
- 함수를 graph에 넣을 수 있음
용어 변경
- demenssion→axis
tf.keras
- 1.X 버전에서는 gpu의 유무에 따라 사용하는 코드다 달랐지만 gpu유무에 따라 자동으로 추가된다.
- 1.X 버전에서는 tensorboardcolab를 import를 시켜줘야 했다.
- tensorboardcolab를 실행시키기 더욱 편해졌으면 노트북에서 실행할 수 있다.
기존에 있던 코드들은 어떻게 수정하지(?)
- 이런 기능을 제공한다.
- 2.0으로 올라가면서 지원안하는 코드에는 compat.v1으로 실행할 수 있게되었다.
TensorFlow Hub
- 모델을 쉽게 재사용 할 수 있게 도와줌
- 우리가 불러올 모델은 그래프가 이미 짜여있고 학습이 모두 되어있다.
pip install tensorflow==2.0.0-alpha0
으로 손쉽게 설치가 가능하다.
일찍올걸 그랬다 시간 맞춰왔더니 테이블이 풀방이었다 ㅜㅜ
처음 배우는 개념이라 용어들이 너무 어려웠다. 일단 첫 배움이니 용어 알아가는 것에 만족하자.
처음에 딥러닝 코드를 봤을땐 어려워서 개념잡기도 어려웠는데 이 강의를 한번 듣고 나니까 그래도 어느정도 감은 잡혔다 다행이다. 강의 추천해주셔서 감사합니다 대의님!
'일상(?)' 카테고리의 다른 글
CSE Junior Developer Meet up - review (0) | 2019.09.29 |
---|---|
상반기 회고 (0) | 2019.09.27 |
생산성 툴 세미나 후기 (0) | 2019.02.15 |
2018 회고 (4) | 2019.01.01 |
12/15일 OSS 개발자포럼 세미나 리뷰 (0) | 2018.12.19 |