DeepLearning Part 1: 딥런닝에 대하여

Deep-Learning에 대한 이해와 Tensorflow 구조

머신런닝의 목적

머신러닝(딥러닝)으로 무엇을 해결하려고 하는가?

주어진 데이타에 가장 근접한 Y=wX+b의 방정식의 w(Weight),b(Bias)값을 찾아라

  • X는 형태와 성격 따라 Input variable, feature 등으로 불려집니다.
  • X는 스칼라 값(1차원) 이기도 하고, 벡터값(2차원) 이기도 하고, 그 이상의 차수를 가진 다차원행렬(Tensor)일 수도 있습니다.
  • w는 feature들에 주어지는 가중치(Weight) 값이며,
  • b는 feature의 시작값을 조절하는 바이어스(Bias) 값입니다.

딥러닝의 역사

머신러닝의 시작 (1980)

머신러닝의 개념은 1980년에 등장하였다. (Kunihiko Fukushima) 하지만, 이 당식 뉴럴네트웍을 이용한 머신 러닝은 Overfitting이 심각하였고, 일정 수준 이상의 러닝을 시도할 수록 추가적인 학습이 되지 않는 현상이 발생하였다. 결론적으로 효과적이지 못한 방법으로 인식되었다.

  • Overfitting : 훈련데이타에 최적화 되어버리는 현상
딥러닝의 등장 (2000)

2000년대 제프리힌튼과 Ruslan Salakhutdinov에 의해 신경망을 여러겹으로 쌓아서 학습시키는 방식을 이용하여 오버피팅 문제를 해결할 수 있는 방법을 고안하게 된다. ☛ Deep-Learning이라는 용어는 여러 계층으로 쌓여진 신경망을 통해 학습시칸다는 의미를 내포하고 있습니다.

모델의 구성 (딥러닝 모델은 어떻게 구성되어 있나?)

</img>

Model의 구성
  • Feature Extraction Layers
    • Convolution Layer : 특징 추출
      • Pooling Layer : 데이타 압축
        • Activation Layer : 불필요한 데이타 제거
  • Fully Connected (Classification Layers)
    • 예측을 담당하는 레이어
    • ex) Dense
  • SoftMax Layer : 확률로 결과값 Normalization
잘아려진 Model의 사례

학습 과정 (Loss/Optimization)

  • Loss(Cost) Function : 얼마나 틀렸는지 계산하는 함수
  • Optimization : Loss를 줄이 수 있도록 모델을 업데이트해가는 과정
    • Adam, SGD 등이 있음
    • 경사하강학습

실전 코딩

필기체 인식을 위한 Tensorflow 실전 코드

숙제! 필기체로 작성된 숫자(0~9)를 인식할 수 있는 딥런닝 코드를 작성해봅시다. 이 코드를 작성하는데 몇 라인의 코드가 필요할까요?

[노브북파일] (https://bravecompany.github.io/post_assets/luke/post1-google_mnist_sample.ipynb)


참고자료 —–

  • TensorFlow https://www.tensorflow.org/
  • 딥러닝 위키 https://ko.wikipedia.org/wiki/%EB%94%A5_%EB%9F%AC%EB%8B%9D
  • 딥러닝과 머신러닝의 차이 https://brunch.co.kr/@itschloe1/8

카테고리 > techCamp