2. What we will learn today?
1. Large-Scale
Deep Learning
(CPU, GPU)
3. Speech
Recognition
2. Computer
Vision
4. Natural
Language
Processing
5. Other
Applications
3. CPU(Central Processing Unit)
• 중앙처리장치
• 컴퓨터 중심에 위치하여 시스템
전반을 이끄는 장치
• 다양한 기본적인 연산 수행
• 영상 보기, 문서 작성, 2D
게임 실행 등
1. Large-Scale Deep Learning
GPU(Graphics Processing Unit)
• 그래픽 처리 장치, 그래픽 카드
• 컴퓨터 그래픽 응용 프로그램
위해 개발됨
• 고급 그래픽 게임 등
4. 1. Large-Scale Deep Learning
CPU GPU
core 수
(핵심 회로 수)
4~6개 (많은 경우 10개) 수천 개
clock speed
(코어 당 동작속도)
GPU보다 빠르게 동작 (2~3Ghz) CPU보다 느리게 동작 (1Ghz)
memory
(임시 저장소)
컴퓨터의 RAM에서 끌어와서 사용 칩 안에 RAM 내장되어 있음
처리 방식
범용 처리 (순차적으로 처리)
(general purpose processing)
병렬 처리 (동시에 처리)
(paralyzable algorithm)
경쟁사 intel, AMD NVIDIA, AMD
CPU와
GPU의
처리 방식이
다르기 때문에
core로만
성능 비교 불가
5. 1. Large-Scale Deep Learning
행렬 곱, node 값 계산, convolution 등에서 각 연산이 서로 연관 있지는 않음
-> GPU는 병렬적으로 연산 한꺼번에 수행
-> CPU는 element 하나씩 (한다는 식의 개념으로 이해)
• 왜 deep learning에서 GPU를 사용할까? - 병렬 처리의 장점
6. 1. Large-Scale Deep Learning
• GPU의 기술 코드 작성 위한 프로그래밍 언어
CUDA OpenCL
지원 NVIDIA만 NVIDIA, AMD, ...
API
딥러닝 API library 포함
cuBLAS - 다양한 행렬곱 연산 제공
cuDNN - CNN, RNN 등 딥러닝에 필요한
기본적인 연산 제공
딥러닝 최적화 연산/library가
개발되어 있지 않음
7. 1. Large-Scale Deep Learning
컴퓨터 비전과
음성 인식
간단한 실습에서
이용해 볼 예정!
https://www.youtube.com/watch?v=9AgqC_NW3as
14. 2. Computer Vision
GCN LCN
Global Contrast Normalization
전역 명암비 정규화
Local Contrast Normalization
국소 명암비 정규화
이미지의 모든 픽셀에 대한
평균, 표준편차 구해서
모든 이미지의 픽셀들을 표준화
각 픽셀에서 인근 픽셀들의
평균, 표준편차 구해서
해당 픽셀 표준화
모든 이미지를
같은 축척으로 만들어 줌
세기가 일정한 영역들을
모두 제거해서 윤곽선에 집중
• 전처리 - 명암비 정규화
15. 2. Computer Vision
하나의 이미지 데이터를
회전 및 뒤집기, 자르기(crop),
색 변화(color jittering) 등을 통해
train dataset의 크기를 키울 수 있음
data crop color jittering
• 전처리 - data augmentation
18. 3. Speech Recognition
문자 -> 음소
음성 분석
(특징 추출)
음향 모델
(음소 인식)
언어 모델
어휘 목록
Decoder
https://brunch.co.kr/@kakao-it/105
19. 3. Speech Recognition
(1) 음성 분석(특징 추출)
• 음성신호에서 주파수 분석 통해 음성의 특징이 되는 부분을 추출하는 과정
• 음성 -> sampling -> 디지털 신호화
20. 3. Speech Recognition
(2) 음향 모델
• GMM-HMM 방식 : 음소를 GMM으로 모델링, 음소들의 연속적인 변화를 HMM으로 예측
• 최근에는 GMM 확률 모델 대신 딥러닝으로 대체한 DNN-HMM 기법 사용
HMM(Hidden Markov Model)
GMM(Gaussian Mixture Model)
21. 3. Speech Recognition
Markov (Chain) Model
: 시간 t에서의 관측은 가장 최근 r개 관측에만
의존한다는 가정 하의 확률 추론
오늘 저녁은 무엇을 먹을까
0차 Markov chain1차 Markov chain2차 Markov chain
(2) 음향 모델
22. 3. Speech Recognition
(2) 음향 모델
HMM(Hidden Markov Model)
- Markov Model에서 상태(state)를 볼 수 없는 모델 -> 관찰되는 결과를 보고 상태를 예측
명사
오늘
명사+
조사
저녁은
명사+
조사
무엇을
동사
먹을까
Hidden states
관찰되는 결과
23. 3. Speech Recognition
(2) 음향 모델
GMM(Gaussian Mixture Model)
- 데이터가 k개의 정규분포로부터 생성되었다고 보는 모델
ex) k=3 : 3개의 정규분포로부터 데이터가 생성되었다고 가정
24. 3. Speech Recognition
(2) 음향 모델
• GMM-HMM 방식 : 음소를 GMM으로 모델링, 음소들의 연속적인 변화를 HMM으로 예측
• 최근에는 GMM 확률 모델 대신 딥러닝으로 대체한 DNN-HMM 기법 사용
HMM(Hidden Markov Model)
GMM(Gaussian Mixture Model)
25. 3. Speech Recognition
(3) 언어 모델
방대한 텍스트 분석해 특정 단어 다음에 나올 단어의 확률 추정
단어들 간의 관계를 확률로 표현
𝑃 𝑊 = ෑ
𝑘=1
𝑁
𝑃(𝑊𝑘|𝑊𝑘−1 … 𝑊1) : N개의 단어로 구성된 문장 W의 문장 생성 확률
n-gram 모델 : 문장이 길어지면 확률 계산이 현실적이지 않게 되어 최근 n개 history로 근사화
26. 3. Speech Recognition
인식기가 표현할 수 있는 모든 문장(단어 조합) 중
일정 시간 T 동안 입력된 음성 X에 대해서
확률적으로 가장 가능성이 높은 문장 W는?
* : 식을 가장 최대로 만드는 w
= 𝒇 𝑨𝑺𝑹
∗
(𝑿)
음향 모델 확률 언어 모델 확률
27. 3. Speech Recognition
• 실습
SpeechRecognition을 이용해서
직접 음성 인식을 해보자!!
https://github.com/realpython/python-speech-recognition
https://realpython.com/python-speech-recognition/#working-with-audio-files