표제지
목차
ABSTRACT 10
제1장 서론 12
제2장 Background 14
제1절 인공신경망 하드웨어에 사용되는 메모리 14
제2절 Convolutional Neural Networks(CNN) 15
1. Convolution 레이어 16
2. Pooling 레이어 18
3. Fully Connected Layer 18
제3절 Zero Input data 19
제4절 Lenet5의 특징 및 구조 20
1. Lenet5의 특징 20
2. Lenet5의 구조 21
제5절 Alexnet의 특징 및 구조 22
제3장 데이터 감소와 연산 효율화 24
제1절 데이터 감소 방법 24
1. 제로 어드레싱 기법 25
2. 패리티에딩 기법 26
제2절 연산량 감소 방법에 관한 연구 28
1. 합성곱 연산 28
2. 입력이 '0' 인 합성곱 연산 30
제3절 데이터 스킵을 통한 연산 시간 감소 32
1. 제로데이터 스킵 기법 32
2. 스킵 데이터의 처리 34
제4장 하드웨어 구현 및 검증 37
제1절 제로데이터 스킵을 통한 데이터 감소 37
1. 제로어드레싱 인코더 38
제2절 패리티에딩 기법을통한 데이터 감소 방법 43
제3절 제로데이터 스킵을 통한 연산량 감소 46
1. 제로어드레싱 기법과 연계한 연산량 감소 47
제5장 시스템 설계 및 검증 52
제1절 Lenet5의 구현 52
1. Lenet5를 소프트웨어로 학습하기 52
2. Lenet5를 하드웨어로 구현하기 53
제2절 제안한 알고리즘이 반영된 Lenet5 58
1. 연산량 감소 58
2. 메모리 사이즈 감소 60
제3절 제안한 알고리즘이 반영된 Alexnet 61
제4절 하드웨어 구현 플랫폼 64
제5절 성능 및 비교 분석 67
제6장 결론 71
참고문헌 73
국문초록 81
〈표 2-1〉 Lenet5의 구조 22
〈표 5-1〉 Lenet5의 학습 파라미터 53
〈표 5-2〉 제안한 구조의 시뮬레이션 결과 59
〈표 5-3〉 제안한 구조의 시뮬레이션 결과 59
〈표 5-4〉 제안한 메모리 사용량 감소 61
〈표 5-5〉 Alexnet의 학습 파라미터 62
〈표 5-6〉 Alexnet 사용시의 속도 증가와 메모리 사용 감소 63
〈표 5-7〉 개발보드 Xilinx ZCU102 FPGA & Zedboard 스펙 64
〈표 5-8〉 Lenet5의 합성 결과 65
〈표 5-9〉 제로 어드레싱이 적용된 Lenet5의 합성 65
〈표 5-10〉 패리티가 추가된 Lenet5의 합성 결과 65
〈표 5-11〉 알고리즘에 따른 하드웨어 사용 비율 66
〈표 5-12〉 Lenet5 성능 비교 68
〈표 5-13〉 Alexnet 성능 비교 69
〈표 5-14〉 Zero_Sparcity에 따른 성능 비교 70
〈그림 2-1〉 인공신경망 추론과정에서 데이터 흐름 14
〈그림 2-2〉 CNN 전체 구조 16
〈그림 2-3〉 Convolution 레이어 계산 패턴 17
〈그림 2-4〉 Pooling 레이어 계산 방식 18
〈그림 2-5〉 Fully connected Layer 18
〈그림 2-6〉 계층 통과 이후의 '0' 의 값의 비율 20
〈그림 2-7〉 Lenet5의 모델 구조 21
〈그림 2-8〉 Alernet의 모델 구조 23
〈그림 3-1〉 제로어드레싱 기법 25
〈그림 3-2〉 패리티에딩 기법 27
〈그림 3-3〉 합성곱 연산의 표현 28
〈그림 3-4〉 합성곱 연산의 하드웨어 구조도 29
〈그림 3-5〉 합성곱 연산의 타이밍 다이어그램 30
〈그림 3-6〉 weight가 '0' 인 합성곱 연산의 타이밍 다이어그램 30
〈그림 3-7〉 연속된 '0' 의 합성곱 연산의 타이밍 다이어그램 31
〈그림 3-8〉 제로데이터 스킵 기법 33
〈그림 3-9〉 제로 플래그를 생성 35
〈그림 3-10〉 제로 플래그를 이용한 데이터 복원 36
〈그림 4-1〉 제로어드레싱 엔코더 스테이트 머신 38
〈그림 4-2〉 제로데이터 스킵의 시작 부분 40
〈그림 4-3〉 입력 데이터 41
〈그림 4-4〉 데이터를 제로 어드레스와 데이터로 분류하는 모습 42
〈그림 4-5〉 패리티에딩 기법을 위한 스테이트머신 43
〈그림 4-6〉 패리티에딩 기법을 위한 스테이트머신 시뮬레이션 결과 45
〈그림 4-7〉 연산량 감소를 위한 합성곱 연산 스테이트 머신 47
〈그림 4-8〉 입력 0이 들어올 때의 합성곱 연산 시뮬레이션 결과 49
〈그림 4-9〉 데이터 스킵이 들어간 합성곱 연산 51
〈그림 5-1〉 Lenet5의 하드웨어 블록도 54
〈그림 5-2〉 Lenet5의 Convolution layer1과 sampling block 55
〈그림 5-3〉 Fully Connected Layer 56
〈그림 5-4〉 Lenet5를 통한 데이터 검출 결과 57
〈그림 5-5〉 제안한 알고리즘이 반영된 Lenet5 58
〈그림 5-6〉 추론에 사용된 MNIST 중 일부 59
〈그림 5-7〉 MNIST 표준 편차 결과 60
〈그림 5-8〉 Alexnet의 블록도 일부 62
〈그림 5-9〉 제안한 알고리즘이 반영된 Alexnet의 블록도 일부 63
〈그림 5-10〉 Alexnet에서의 속도 증가와 메모리 사용 감소 63
〈그림 5-11〉 Lenet5의 합성 결과 66
〈그림 5-12〉 Zero_Sparcity에 따른 성능 비교 70