Training binary neural networks
Convolutional Neural Networks (CNNs) or convnets, for short – have in recent years achieved results which were previously considered to be purely within the human realm. It refers to computational models that perform special convolution and pooling operations for the detection of feature maps fro...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Final Year Project |
Language: | English |
Published: |
Nanyang Technological University
2022
|
Subjects: | |
Online Access: | https://hdl.handle.net/10356/156664 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-156664 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-1566642022-04-16T08:55:42Z Training binary neural networks Tham, Marcus Wei Jie Weichen Liu School of Computer Science and Engineering Zhu ShiEn liu@ntu.edu.sg Engineering::Computer science and engineering Convolutional Neural Networks (CNNs) or convnets, for short – have in recent years achieved results which were previously considered to be purely within the human realm. It refers to computational models that perform special convolution and pooling operations for the detection of feature maps from sample images. CNNs are heralded for its high performance and adaptability in many state-of-the-art computing niches today like Edge and Cloud Computing. As such, it is a prominent tool for machine learning in the industry today. However, deep CNNs are still very much a developing field today. In terms of computational complexity, CNNs are extremely demanding in both hardware and software complexity. Particularly, the excessive power consumption, memory usage and size make CNNs typically unfeasible to be used on small or embedded devices. Hence, Binary Neural Networks (BNN) are proposed to extract maximal performance while reducing computation footprint. An empirical understanding of the established BNN models and tools will greatly aid any development for the machine learning field in the future. To that end, in this paper I aim to study the extensive history and motivations behind BNNs and discuss the optimisations and hyper-parameters of various BNN model implementations. Training BNNs are important because we can benchmark the different implementations and improvements in the models and compare them, as well as derive conclusions from how different models are impacted by different settings of parameters. A short literature review of each established BNN model in terms of their functionality and contributions will be presented, followed by a baseline implementation and hyper-parameter training setting in PyTorch. I will study the methodology as well as the innovations of some of the prominent BNN improvements in this industry. Through these experiments, I am able to examine the best parameter settings for training the best BNNs. Some of these hyper-parameters include the learning rate scheduler, batch size, network architecture and even the initial learning rate. After that, I will compare and contrasts the results of my testing and give recommendations for individuals pursuing research into quantised models in the future. These recommendations will be in the form of the best configurations and recommended settings for training BNN models for different objectives. Bachelor of Engineering (Computer Science) 2022-04-16T08:55:42Z 2022-04-16T08:55:42Z 2022 Final Year Project (FYP) Tham, M. W. J. (2022). Training binary neural networks. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/156664 https://hdl.handle.net/10356/156664 en SCSE21-0171 application/pdf Nanyang Technological University |
institution |
Nanyang Technological University |
building |
NTU Library |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
NTU Library |
collection |
DR-NTU |
language |
English |
topic |
Engineering::Computer science and engineering |
spellingShingle |
Engineering::Computer science and engineering Tham, Marcus Wei Jie Training binary neural networks |
description |
Convolutional Neural Networks (CNNs) or convnets, for short – have in recent years achieved
results which were previously considered to be purely within the human realm. It refers to
computational models that perform special convolution and pooling operations for the
detection of feature maps from sample images. CNNs are heralded for its high performance
and adaptability in many state-of-the-art computing niches today like Edge and Cloud
Computing. As such, it is a prominent tool for machine learning in the industry today. However,
deep CNNs are still very much a developing field today. In terms of computational complexity,
CNNs are extremely demanding in both hardware and software complexity. Particularly, the
excessive power consumption, memory usage and size make CNNs typically unfeasible to be
used on small or embedded devices. Hence, Binary Neural Networks (BNN) are proposed to
extract maximal performance while reducing computation footprint.
An empirical understanding of the established BNN models and tools will greatly aid any
development for the machine learning field in the future. To that end, in this paper I aim to
study the extensive history and motivations behind BNNs and discuss the optimisations and
hyper-parameters of various BNN model implementations. Training BNNs are important
because we can benchmark the different implementations and improvements in the models and
compare them, as well as derive conclusions from how different models are impacted by
different settings of parameters. A short literature review of each established BNN model in
terms of their functionality and contributions will be presented, followed by a baseline
implementation and hyper-parameter training setting in PyTorch. I will study the methodology
as well as the innovations of some of the prominent BNN improvements in this industry.
Through these experiments, I am able to examine the best parameter settings for training the
best BNNs. Some of these hyper-parameters include the learning rate scheduler, batch size,
network architecture and even the initial learning rate. After that, I will compare and contrasts
the results of my testing and give recommendations for individuals pursuing research into
quantised models in the future. These recommendations will be in the form of the best
configurations and recommended settings for training BNN models for different objectives. |
author2 |
Weichen Liu |
author_facet |
Weichen Liu Tham, Marcus Wei Jie |
format |
Final Year Project |
author |
Tham, Marcus Wei Jie |
author_sort |
Tham, Marcus Wei Jie |
title |
Training binary neural networks |
title_short |
Training binary neural networks |
title_full |
Training binary neural networks |
title_fullStr |
Training binary neural networks |
title_full_unstemmed |
Training binary neural networks |
title_sort |
training binary neural networks |
publisher |
Nanyang Technological University |
publishDate |
2022 |
url |
https://hdl.handle.net/10356/156664 |
_version_ |
1731235725946388480 |