• Home
  • About
    • Yerim Oh photo

      Yerim Oh

      Happy and worthwhile day by day :)

    • Learn More
    • Email
    • LinkedIn
    • Instagram
    • Github
    • Youtube
  • Posts
    • All Posts
    • All Tags
  • Projects

[00] [INDEX] Deep learning 1

12 Mar 2021

Reading time ~4 minutes

Table of Contents
  • INTRO
  • 목차
  • [00] 딥러닝이란
  • [01] 퍼셉트론
  • [02] 신경망 구성: 활성화 함수
  • 신경망 학습
    • [03] 신경망 학습: 손실함수
    • [04] 신경망 학습: 경사법
    • [+] Gradient Decent method 자세히 알기
  • [05] 오차 역전법
  • [06] 옵티마이저
    • [+] 신경망 가중치 초기값 설정법
    • [+] 배치 정규화 Batch Normalization
    • [+] 오버피팅과 해결법
  • [07] MNIST 데이터세트로 이미지 분류
    • [+] 미국 수화 데이터세트 이미지 분류 TEST
  • [08] CNN
    • [08.5] CNN 구현
  • [09] 데이터 증강 DATA AUGMENTATION 구현
    • [010] 데이터 증강 모델 배포
  • [011] Pre-Trained Models
  • [012] Transfer Learning
  • 자연어와 단어의 표현
    • [013] 통계기반 기법을 이용한 분산 표현
      • [+] 차원 축소, 토픽 모델링 (Latent Semantic Analysis, LSA)
    • [014] 추론기반 기법 word2vec (CBOW,skip-gram 모델)

INTRO

[kor] 전 수학을 잘 알지 못하는 상경계열이므로 최대한 저의 눈높이에 맞춰 설명할 수 있는 모든 것을 설명하려고 노력했습니다 :)

[eng] Since I’m not a very good mathematician, I’ve tried to explain everything I can to my level :)


목차


[00] 딥러닝이란

learn [00]


[01] 퍼셉트론

learn [01]

  • 퍼셉트론
    • 퍼셉트론이란?
  • 단순한 논리회로(1층퍼셉트론)
    • AND 게이트
    • NAND 게이트
    • OR 게이트
    • 예외) XOR 게이트
  • 퍼셉트론의 한계
    • SOLUTION 1
    • SOLUTION 2
  • 다층 퍼셉트론의 충돌 시

[02] 신경망 구성: 활성화 함수

learn [02]

  • 활성화 함수(activation function)
  • 퍼셉트론에서 이용하는 활성화 함수
    • 계단 함수 step function
  • 신경망에서 이용하는 활성화 함수
    • 비선형 함수
    • sigmoid function(시그모이드 함수)
    • ReLU 함수
  • 3층 신경망 구현하기
  • 출력층 설계
    • 항등 함수 identity function
    • 소프트맥스 함수 softmax function
      • 소프트맥스 함수 구현 시 주의점
      • 출력층의 뉴런 수 정하기

신경망 학습

[03] 신경망 학습: 손실함수

learn [03]

  • 데이터 주도 학습
    • 훈련 데이터와 시험 데이터
  • 손실 함수(loss function)
    • 오차 제곱 합(sum of squares for error, SSE)
    • 교차 엔트로피 오차(cross entropy error, CEE)
    • 미니배치 학습
      • (배치용) 교차 엔트로피 오차 구현하기
    • 손실함수 설정 이유

[04] 신경망 학습: 경사법

learn [04]

  • 경사법(경사 하강법)
    • plateau, 플래토
    • 경사법 gradient method
    • 수식
  • 신경망에서의 기울기
  • 수치 미분
    • 미분
      • 구현시 주의
      • 중심 차분 or 중앙 차분
    • 편미분
  • 학습 알고리즘 구현하기

[+] Gradient Decent method 자세히 알기

learn [+]

  • 경사 하강법 gradient descent method
    • 시작하기 전 읽어보면 좋을 개념(필수 개념)
  • 목표
  • bulid-up 1
    • MSE(Mean Squared Error)
      • MSE의 수식
      • MSE 구현
  • bulid-up 2
    • 손실 곡선(The Loss Curve)
  • 경사 하강법 gradient descent method

[05] 오차 역전법

learn [04]

  • 오차역전법(backpropagation)(=‘역전파법’,‘역전파’)
  • 계산그래프 computational graph
    • 연쇄법칙 chain rule
    • 역전파
      • 덧셈 노드의 역전파
      • 곱셈 노드의 역전파
  • 활성화 함수 계층 구현
    • ReLU 계층
    • Sigmoid 계층
  • Affine/Softmax 계층 구현하기
    • Affine 계층
    • Softmax-with-Loss 계층
    • 오차역전파법 구현
  • 오차역전파법으로 구한 기울기 검증
  • 정리

[06] 옵티마이저

learn [05]

  • 옵티마이저 (Optimizers)
    • 확률적 경사 하강법 SGD
      • SGD 단점
    • 모멘텀 Momentum
    • AdaGrad
      • RMSProp
    • Adam
  • 어느 갱신 방법을 이용할 것인가?

[+] 신경망 가중치 초기값 설정법

learn [+]

  • 가중치의 초깃값
  • 설정하면 안되는 초기값
    • 초기값을 0으로 설정
  • 초기값 문제: 은닉층 활성화층 분포 불균형
    • 1) 기울기 소실 gradient vanishing
    • 2) 표현력 제한
  • 각 활성화 함수 별 추천 초기값
    • sigmoid, tanh
    • ReLU
  • 정리

[+] 배치 정규화 Batch Normalization

learn [+]

  • 배치 정규화 Batch Normalization
    • 배치 정규화 알고리즘
    • 배치 정규화 과정
  • 정리

[+] 오버피팅과 해결법

learn [+]

  • 오버피팅
    • 가중치 감소(weight decay)
    • 드롭아웃
    • 앙상블 학습(ensemble learning)
  • 정리

[07] MNIST 데이터세트로 이미지 분류

learn [06]

  • 트레이닝을 위한 데이터 준비
    • 1) 이미지 데이터 평탄화
    • 2) 이미지 데이터 정규화
    • 3.1) 범주 인코딩
    • 3.2) 레이블 범주 인코딩
  • 모델 생성
    • 0) 모델 인스턴스 화
    • 1) 입력 레이어 생성
    • 2) 히든레이어 생성
    • 3) 출력 레이어 생성
  • 모델 요약
  • 모델 컴파일
  • 모델 트레이닝
  • 정확도 관찰
  • 추론
  • 메모리 지우기

[+] 미국 수화 데이터세트 이미지 분류 TEST

learn [06.5]



[08] CNN

learn [08]

  • 합성곱 신경망(convolutional neural network, CNN)
  • 전체 구조
    • CNN의 구조
  • 합성곱 계층
    • 특징 맵 (feature map)
    • 합성 곱 연산
    • 3차원 데이터의 합성곱 연산
  • 풀링(pooling) 계층
    • 풀링의 의미
    • 풀링의 종류
    • 풀링 계층의 특징
  • 합성곱/풀링 계층 구현하기
    • im2col로 데이터 전개
    • 합성곱 계층의 구현 흐름
    • 풀링 계층 구현
  • CNN 구현하기
  • CNN 시각화하기
  • 정리

[08.5] CNN 구현

learn [08]


[09] 데이터 증강 DATA AUGMENTATION 구현

learn [09]

  • 데이터 증강 DATA AUGMENTATION
    • 데이터 준비
    • CNN을 위한 이미지 변환 reshaping
    • 합성곱 모델 생성
    • 데이터 증강
      • 옵션
      • 배치크기
    • 데이터 생성기에 맞추기
    • 모델 컴파일
  • 증강으로 트레이닝
  • 결과 해석
  • 모델 저장
  • 메모리
  • 이 모델 이용해보기

[010] 데이터 증강 모델 배포

learn [010]

  • 구현하기 전 읽어 볼 지식
  • 모델 로드
  • 모델을 위한 이미지 준비
    • 이미지 표시
    • 이미지 확장
    • 예측을 위한 이미지 준비
      • 정규화
  • 예측 수행
  • 예측 이해
  • TEST
  • 메모리

[011] Pre-Trained Models

learn [011]

  • 우리가 시험할 모델
  • 목표
  • 개구멍 자동문
  • 모델로드
  • 이미지 사전처리
    • 이미지 표시
    • 사전처리
  • 예측 수행
    • 예측 해보기
  • 목표 완성
  • 메모리
  • 다음 학습

[012] Transfer Learning

learn [012]

  • 구현하기 전 읽어 볼 지식
  • 맞춤형 분류기
    • 사전 트레이닝된 모델 다운로드
  • 기본 모델 동결
  • 새 레이어 추가
  • 모델 컴파일
  • 데이터 증강
  • 모델 트레이닝
  • 결과 개선
    • 파인 튜닝
    • 모델 파인 튜닝
  • 예측 검사
    • Bo 분류기
  • 메모리

자연어와 단어의 표현

[013] 통계기반 기법을 이용한 분산 표현

learn [012]

  • 자연어와 단어의 분산 표현
  • 자연어처리의 의미
  • 1) 시소러스
  • 2) 통계 기반 기법
    • 말뭉치 전처리 구현
    • 단어의 분산 표현
    • 통계기반 기법 개선
      • 상호정보량 PMI
      • 차원 감소(dimensionality reduction)

[+] 차원 축소, 토픽 모델링 (Latent Semantic Analysis, LSA)

learn [012]

  • LSA란?
  • SVD
  • 절단된 SVD(Truncated SVD)
    • 효과
  • LSA 사용
    • Full SVD
    • 절단된 SVD(Truncated SVD)
  • 결과 해석
    • U
    • VT
    • 분석의 목표
  • LSA의 장점과 단점
  • 실제 task에 적용

[014] 추론기반 기법 word2vec (CBOW,skip-gram 모델)

learn [014]

  • 자연어처리의 의미
  • 추론기반 기법 word2vec
    • 준비: 원핫 one-hot 표현
  • CBOW 모델
    • CBOW 모델 사용
    • 학습 데이터 준비
    • CBOW 모델 구현
    • CBOW 모델과 확률
  • skip-gram 모델
    • skip-gram 모델을 확률로
  • 통계 기반 vs. 추론 기반


Deep Learning Share Tweet +1