Lenet神經網絡實現
1183
2025-03-31
DL之Lenet-5:Lenet-5算法的簡介(論文介紹)、架構詳解、案例應用等配圖集合之詳細攻略
目錄
LeNet-5算法的簡介(論文介紹)
LeNet-5算法的架構詳解
1、LeNet-5 結構分析
2、各層詳細說明
3、以手寫數字3為例詳細理解LeNet-5算法過程
4、LeNet-5為例可視化
5、LeNet-5算法的設計思路
LeNet-5算法的案例應用
1、LeNet-5算法的代碼實現(LeNet-5——PyTorch)
核心代碼
相關文章
DL之CNN(paper):關于CNN(卷積神經網絡)經典論文原文(1950~2018)簡介、-大全(非常有價值)之持續更新(吐血整理)
DL之LeNet-5:LeNet-5算法的簡介(論文介紹)、架構詳解、案例應用等配圖集合之詳細攻略
DL之LeNet-5:LeNet-5算法的架構詳解
LeNet-5算法的簡介(論文介紹)
LeNet-5模型是Yann LeCun教授于1998年在論文《Gradient-based learning applied to document recognition》中提出。它是第一個成功應用于手寫數字識別問題并產生實際商業(郵政行業)價值的卷積神經網絡。
Abstract
Multilayer neural networks trained with the back-propagation algorithm constitute the best example of a successful gradient based learning technique. Given an appropriate network architecture, gradient-based learning algorithms can be used to synthesize a complex decision surface that can classify high-dimensional patterns, such as handwritten characters, with minimal preprocessing. This paper reviews various methods applied to handwritten character recognition and compares them on a standard handwritten digit recognition task. Convolutional neural networks, which are specifically designed to deal with the variability of 2D shapes, are shown to outperform all other techniques.
利用反向傳播算法訓練的多層神經網絡構成了一種成功的基于梯度的學習技術。在適當的網絡結構下,基于梯度的學習算法可以用來合成一個復雜的決策曲面,該曲面可以用最少的預處理對高維模式(如手寫字符)進行分類。本文綜述了手寫字符識別的各種方法,并在一個標準的手寫數字識別任務上進行了比較。卷積神經網絡是專門設計用來處理二維形狀變化的,它的表現優于其他所有技術。
Real-life document recognition systems are composed of multiple modules including field extraction, segmentation recognition, and language modeling. A new learning paradigm, called graph transformer networks (GTN), allows such multimodule systems to be trained globally using gradient-based methods so as to minimize an overall performance measure.
現實生活中的文檔識別系統由多個模塊組成,包括字段提取、分割識別和語言建模。一種新的學習范式稱為圖變網絡(GTN),它允許使用基于梯度的方法對這種多模塊系統進行全局訓練,從而最小化總體性能度量。
Two systems for online handwriting recognition are described. Experiments demonstrate the advantage of global training, and the flexibility of graph transformer networks.
介紹了兩種在線手寫識別系統。實驗表明,該方法具有全局訓練的優點,并具有圖形變壓器網絡的靈活性。
A graph transformer network for reading a bank cheque is also described. It uses convolutional neural network character recognizers combined with global training techniques to provide record accuracy on business and personal cheques. It is deployed commercially and reads several million cheques per day.
本論文還描述了一種用于讀取銀行支票的圖形變壓器網絡。它使用卷積神經網絡字符識別器,結合全局訓練技術,為企業和個人支票提供準確的記錄。它已投入商業使用,每天可讀取數百萬張支票。
論文
https://ieeexplore.ieee.org/document/726791
http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf
LeNet-5算法的架構詳解
DL之LeNet-5:LeNet-5算法的架構詳解
LeNet-5算法的案例應用
PyTorch之LeNet-5:利用PyTorch實現最經典的LeNet-5卷積神經網絡對手寫數字圖片識別CNN
1、LeNet-5算法的代碼實現(LeNet-5——PyTorch)
核心代碼
PyTorch:利用PyTorch實現搭建最經典的LeNet卷積神經網絡CNN——Jason niu
class LeNet(nn.Module):
def __init__(self):
super(LeNet,self).__init__()
#Conv1 和 Conv2:卷積層,每個層輸出在卷積核(小尺寸的權重張量)和同樣尺寸輸入區域之間的點積;
self.conv1 = nn.Conv2d(1,10,kernel_size=5)
self.conv2 = nn.Conv2d(10,20,kernel_size=5)
self.conv2_drop = nn.Dropout2d()
self.fc1 = nn.Linear(320,50)
self.fc2 = nn.Linear(50,10)
def forward(self,x):
x = F.relu(F.max_pool2d(self.conv1(x),2)) #使用 max 運算執行特定區域的下采樣(通常 2x2 像素);
x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)),2))
x = x.view(-1, 320)
x = F.relu(self.fc1(x)) #修正線性單元函數,使用逐元素的激活函數 max(0,x);
x = F.dropout(x, training=self.training) #Dropout2D隨機將輸入張量的所有通道設為零。當特征圖具備強相關時,dropout2D 提升特征圖之間的獨立性;
x = self.fc2(x)
return F.log_softmax(x, dim=1) #將 Log(Softmax(x)) 函數應用到 n 維輸入張量,以使輸出在 0 到 1 之間。
#創建 LeNet 類后,創建對象并移至 GPU
model = LeNet()
cuda_gpu = torch.cuda.is_available()
if cuda_gpu:
model.cuda()
print ('MNIST_net model:\n')
print (model)
卷積神經網絡 機器學習 深度學習 神經網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。