본문 바로가기
일상(?)

TensorFlow DevSummmit 2019 Extended Songdo - Review

by AsCE_hyunseung 2019. 4. 9.

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
  1. selection
  2. expansion
  3. evaluation
  4. 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