인공지능(AI)/AI 관련 강연

Deep Learning 개론 (서강대 강석주 교수)

supremo7 2020. 9. 27. 00:25

※강연을 들으며 정리한 내용입니다.

<Outline>

  1. Introduction to Research Topics
  2. Introduction to Deep Learning
  3. Deep Learning Techniques and Applications

<Introduction to Research Topics>

- 연구실 연구 분야 : Computer Vision Software Application & Realistic Display Hardware Application

 

- 세부 연구 내용

  • 딥러닝 기반 FPGA 하드웨어 구조 및 설계 연구
  • 360도 VR 영상 획득 및 카메라 기술 연구
  • 딥러닝 기반 차량 모니터링 시스템 개발 연구
  • 딥러닝 기반 영상 처리 알고리즘 개발 연구

<Introduction to Deep Learning>

Example1

 

Example2

 

Example3

 

- 머신러닝의 종류 3가지

  • Supervised Learning(지도학습)
  • Unsupervised Learning(비지도학습)
  • Reinforcement Learning(강화학습)

머신러닝의 종류 3가지

 

- 오늘 주로 얘기할 내용은 Supervised learning의 ANN, CNN, RNN.

 

- Supervised LearningClassification(분류)Regression(회귀)으로 나누어진다.

  • Classification은 주어진 데이터를 정해진 카테고리에 따라 분류하는 문제
  • Regression은 연속된 값을 예측하는 문제

 

Classification vs Regression

 

- Unsupervised Learning은 대표적으로 Clustering(군집화)이 있다.

  • Clustering은 주어진 데이터를 구분할 수 있는 클래스에 대한 지식이 없는 상태에서, 각 데이터들의 유사도에 근거하여 데이터를 구분하는 방법이다.

 

- Reinforcement Learning은 지도 학습, 비지도 학습과는 다른 개념이다. 자신이 한 행동에 대해 보상(reward)을 받으며 학습하는 것을 말한다. reward를 +,-주며 학습시킨다.

강화 학습의 구조

ex) Pepper robot learning "ball in a cup" www.youtube.com/watch?v=jkaRO8J_1XI

강화학습의 예

 

- Deep Learning은 오래전부터 연구가 되었던 분야이고, 현재 왜 이슈가 되는지 이해할 필요가 있다.

 

- 과거의 문제점으로 High computational costLack of big training data가 있었지만, 이것이 해결되었기 때문이다.

(Advance in Hardware, Advance in Algorithm, Big Data)

 

- Deep Learning을 적절히 잘 사용하니 Speech Recognition과 Image Classification이 아주 크게 개선되었다.

 

<Deep Learning Overview>

- 딥러닝에서의 가장 기본적인 unit은 neuron이다. 뇌에서의 neuron을 수학적으로 모델링한다.

neuron의 모델링

 

- Biological Neural Network를 흉내내어 Computer Neural Network로 사용한다.

 

Biological Neural Network vs Computer Neural Network

- hidden layer가 1개 있는 경우 Single-layer Neural Network, 2개 이상 있는 경우 Multi-layer Neural Network라고 한다.

 

- Layer을 왜 많이 사용해야 하는가?

  • Different Position: 왼쪽으로 보고있는 개와 오른쪽을 보고있는 개를 position을 고려 못하면 다르게 구분할 수 있다.
  • Wolf Vs. Samoyed: 어떤 부분이 다른지 인식을 못하면 구분을 못한다. 즉, 고유의 특징을 파악하지 못하면 구분 못한다.

- Deep하게 Layer를 쌓으면 feature를 적절하게 잘 추출할 수 있다.

 

- 잘 모르는 형태의 feature들이 Deep structure에서 layer들을 거치면 High-level feature들이 나오기 때문에 더 잘 분류할 수 있는 문제로 변하게 된다.

 

- 기존의 머신러닝보다 딥러닝이 좋은 점은 여러 가지 feature들을 다 볼 수 있고, 이를 통해 Classifier를 거쳐서 무엇인지 판단할 수 있다는 것이다.

 

Deep Learning의 차별점

 

<Convolutional Neural Networks (CNN)>

- Limitation of clssical neural network

  • No consider topology(위상 배치) of image
  • Too many training data are required to train
  • Too much time is needed to learn

 

- CNN(합성곱 신경망)은 한 픽셀 단위로 보는게 아니라 convolution(합성)을 한다. 묶어서 대표값으로 뽑아내고 본다. 이를 여러번 거치면 topological image를 뽑아낼 수 있다. (비슷한 형태로 추상화된다)

 

- 항상 deep하면 deep할수록 좋은게 아니다. 어느 시점이 되면 덜 deep한게 성능을 충분히 낼수도 있다. 실제로 2살보다 6살이 더 dense하지만 6살이 지능적으로 뛰어나다. 6살 이후로는 거의 비슷한 neuron density를 가진다.

Brain Development

 

- pruning을 하면 특별하게 가중치가 없는건 끊는다. 의미있는 connectivity나 노드를 남겨서 sparse하게 만들어준다. sparse해도 성능은 거의 같다. resource와 complexity를 줄일 수 있어서 좋다. 

 

Pruning

 

<Application>

- Image colorization: 학습된 내용을 바탕으로 흑백사진에 컬러를 입힐 수 있다.

- High Dynamic Range: 밝음과 어두움을 조절하여 보기 좋게 화질을 향상 시킬 수 있다.

- Photo-realistic Image Synthesis: 실루엣만 그리면 나머지를 적절하게 잘 채워준다.

- Image Generation: 사진에서 Zebra->horse, Summer->Winter같은 것을 고퀄리티로 가능하게 해준다.

- Recent News: 영상을 해석해서 문장화시켜준다.

- Autonomous Driving: 핸들을 어떻게 할지 모델링하고 학습시켜서 자율주행을 가능하게 해준다.