“机器”建模 拓扑结构 Wo W X2 191 ◇ Wa 06 输入 隐层 输出 N。 y[0]=x y-wx+@o y= ∑w,f(k-c) y=∑wf-cD i=1,,N1 i=1....N 线性结构 线性表征结构/单 迭代结构/多层网络 层网络
拓扑结构 1 x 2 x n x 0 w0 w1wn … … 0 T y w x x2 x1 x3 输入 隐层 输出 N0 N1 1 1 …… 2 3 4N1 w1 w2 w3w4wN1 1 1,..., i i i N y w f x c 1 [0] [ 1] [ ] [ ] 1,..., k k k i i i N y x y w f y c 线性结构 线性表征结构/单 层网络 迭代结构/多层网络
“机器”建模 软件工程师眼中的“机器”一一代码 D:work)■pt-mnist▣model〉2 model.py ▣Project 因÷在一 号model..py× release.py optExm D:\Haloes\gitHubloptExm 1 import torch.nn as nn >venv library root 2 import torch.nn.functional as F iopt-1.py External Libraries 3 <Python 3.6 (optExm)>D:\Haloes\gitHublopt 4 >Ill Extended Definitions 5 class Net(nn.Module): >Python36 library root 6 def_init_(self): >■DLs 7 #此处定义包含待训练权系数的模块 >Lib lli Binary Skeletons 8 super(Net,self)._init_() >venv library root 9 self.conv1 nn.Conv2d(1,10,kernel_size=3) 冫site-packages 10 self.conv2 nn.Conv2d(10,20,kerne1_size=3) )pip-10.0.1-py3.6.egg 11 self.fc1 nn.Linear(500,50) >setuptools-39.1.0-py3.6.egg library root 12 self.fc2 nn.Linear(50,10) >Ii Typeshed Stubs Scratches and Consoles 13 14 def forward(self,x): 15 x F.relu(F.max_pool2d(self.conv1(x),2)) 16 x F.relu(F.max_pool2d(self.conv2(x),2)) 17 x=x.view(-1,500》 18 x F.relu(self.fc1(x)) 19 x F.dropout(x,training=self.training)
软件工程师眼中的“机器”——代码
“机器”建模 对数据的运 算一CPU 编程模型 冯诺伊曼 Central Processing Unit 操作 输入、输出数 Control Unit 据和处理过程 中的中间值 Arithmetic/Lo 训练过程中作为被 优化变量,不同参 数对应不同“机器” 数据 Memory Unit 变量
编程模型 数据 变量 冯诺伊曼 体系 操作 对数据的运 算——CPU 训练过程中作为被 优化变量,不同参 数对应不同“机器” 输入、输出数 据和处理过程 中的中间值
“机器”的可塑性与学习 ,什么是“学习” 。不改变“学习主体”结构的情况下,通过调整其微观 参数,使其具有依据外部变化,自主优化响应的过程
什么是“学习” ◦ 不改变“学习主体”结构的情况下,通过调整其微观 参数,使其具有依据外部变化,自主优化响应的过程
“机器”的可塑性与学习 ,机器可塑性: 。保持机器结构不变情况下,通过改变其参数,可以改 变其响应特性。 。数学家:调整线性/非线性逼近的系数。 f(x,W),R”→2 。电子工程师:调整电路中元器件的物理量(电阻、电 容、寄存器等) 。软件工程师:调整程序中“变量”的值。 W+=W+△W
机器可塑性: ◦ 保持机器结构不变情况下,通过改变其参数,可以改 变其响应特性。 ◦ 数学家:调整线性/非线性逼近的系数。 ◦ 电子工程师:调整电路中元器件的物理量(电阻、电 容、寄存器等) ◦ 软件工程师:调整程序中“变量”的值。 ( ; ), n f x W W W W