[딥러닝] 1주차 - Introduction to Deep Learning

Lana Chung·2021년 8월 27일
0

✏️ 이번 공부노트 시리즈는 Andrew Ng 교수님의 Neural Networks and Deep Learning 강의를 듣고 공부한 내용입니다.

  • AI is the new Electricity
    • Deep Learning - highest sought after skills in tech worlds

Neural Network?

  • ReLU 함수
    • Rectified Linear Unit
    • x 값이 특정 값까지 결과 값이 0이다가 어느 순간부터 커지는 함수
    • Rectify = 0을 최대값으로 한다는 뜻
  • 신경망
    • 은닉층의 노드들은 모든 입력층의 노드들의 영향을 받는다
    • Every input layer feature is interconnected with every hidden layer feature

Supervised Learning with Neural Networks

  • 지도학습에서는 input 값이 있으면 해당 값과 연계되는 결과값 y를 (연결해주는 함수를) 배워야 한다.
    • 온라인 광고 Online Advertising (Standard Neural network)
      • Ad, user info (X) → Click rate (0/1) (y)
    • Photo tagging (CNN)
      • Image (x) → Object(1, ...., 1000)
    • 음성 인식 Speech recognition (time series, sequence data >> RNN)
      • 시간적인 요소를 담고 있는 일차원 데이터
      • Audio (x) → Text transcript(y)
    • 기계 번역 machine translation (RNN)
      • English (x) → Korean (y)
    • 자율 주행 Autonomous driving (Custom/Hybrid nn)
      • Image, Radar info 차 전방에 있는 레이더로 확인 되는 정보 (x) → Position of other cars (y)
  • structured data ↔ unstructured data
    • 구조화 데이터 : DB 같이 필드값이 정해져 있는, 형식이 있는 데이터
      • 수익 추천, 광고 시스템, 정확한 예측 등의 경제적 가치를 갖고 있는 것은 막대한 양의 DB를 프로세싱 하는 능력
    • 비구조화 데이터 : 오디오, 이미지, 텍스트 데이터와 같은 자유로운 형태의 데이터
      • 인간은 자연적으로 unstructured data를 이해하려는 공감대가 있기 때문에, 신경망을 통해 해당 데이터를 다루는 것은 흥미 위주

Why is Deep Learning taking off?

  • 딥러닝, 왜 지금 뜨고 있는가?

  • 사회가 디지털화되면서 막대한 양의 데이터가 생김

  • 고성능의 프로그램을 만들기 위해선

    1. 막대한 양의 학습 데이터 scale of training data
    2. 그 데이터들을 다 학습시킬 수 있는 큰 신경망이 필요 scale of neural network (새로운 네트워크, 숨겨진 다량의 유닛, 많은 양의 변수, 연결요소들)
  • 더 좋은 성능을 구현하기 위해서는

    • 더 큰 네트워크를 학습시키거나
    • 더 많은 데이터를 학습시키는 것 (labeled data)
  • 가장 큰 네트워크의 변화를 가져온 것 : 알고리즘의 개선

    • 활성함수 Sigmoid → ReLU (faster training)
      • gradient descent : 함수의 기울기가 거의 0에 가깝게 되면서 기울기가 소실됨
        • 학습 속도가 매우 느려짐 (개체가 매우 느린 속도로 변함)
        • 렐루의 경우, 모든 양수 x값에 대해서 기울기가 1이고 기울기가 0으로 줄어드는 확률은 급격히 감소
          • 음수 x값에 대해서는 기울기 0
          • gradient descent 알고리즘 (경사하강법)
            • 1차 근삿값 발견용 최적화 알고리즘 - 함수의 기울기를 구하고 경사의 절댓값이 낮은 쪽으로 계속 이동시켜 극값에 이를때까지 반복시키는 것
    • 알고리즘의 개선을 통해 빠른 계산 도모→ 결과적으로 더 큰 신경망을 학습 시킬 수 있도록 개선
    • 새로운 네트워크가 트레이닝 시키는데 오랜 시간이 걸리면 Idea > Code > Experiment 사이클이 진행되는 시간이 늘어나면서 생산성 떡락
    • Better algorithm > Faster computation
  • variable m > 학습 데이터 양

profile
그게 쉬운 일이었다면, 아무런 즐거움도 얻을 수 없었을 것이다.

0개의 댓글