Pytorch笔记 (1) 初始神经网络
一、人工神经元
上方人工神经元中:
- 输入 * 权重 ——> 相当于 人神经元中 树突的功能
- 各输入 相加 ,再做非线性变化f ——> 相当于胞体的功能
- 将非线性变化的结果输出 ——> 相当于轴突
在非线性函数f固定的情况下,选择不同的权重,单个神经元 可以完成 不同的运算
但并不是全部,比如 : “或运算”
上述证明过程 可表示为: y = f( w[0] * x[0] + w[1] * w[1] + w[2] )
在 x[0] x[1] 两个输入 分别为 00 10 01 11 的情况下,最终的输出为 y = 0 1 1 1【或运算】
利用反证法 证明
二、人工神经网络
指多个神经元 ——> 组成的网络
【其中,某些神经元的 输出 会 作为 另外一些神经元的输入】
比如,用两个 权重不同的 神经元搭成的神经网络 实现或运算
神经网络可以模拟所有可能的运算
证明: 由非线性函数为 f() = max(.,0)的神经元组成的神经网络 可以模拟 任何闭区间上的连续分段线性函数
如果输入和输出直接的关系 不是分段 线性函数,还能不能用 神经网络模拟? ———— 当然可以
原因: 任意一个 输入/输出关系 都可以用分段线性函数来近似,只要分段点足够多,就可以非常准确地用 分段函数 来近似这个函数。而 分段线性函数,可以通过人工神经网络搭建来得到————> 只要人工神经网络 中的神经元 数目足够多,神经元之间的关系 足够复杂,就可以非常精确的模拟任意的 输入/ 输出关系 【即,万能近似定理】
三、神经网络的设计和权重的学习
- 神经网络结构的确定: 神经元个数越多,链接越复杂,能便是的 输入/输出 关系越多,对特定 输入/输出关系的表达 就 越精确,但也就越难找到 最合适的权重------最优的输入/输出关系 【中间 存在 折中关系】
- 神经网络中神经元权重的确定: 权重的选取 可以看作 是一个 优化问题 。 对于每一组确定的权重值,我们可以确定出优化问题的 收益或损失。当权重不合适时,优化问题的收益笑,损失大;权重合适时,优化问题的收益大,损失小 【通过调节权重,最大化收益,最小化损失,就可以得到合适的权重】
Pytorch笔记 (1) 初始神经网络的更多相关文章
- CNN学习笔记:卷积神经网络
CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...
- [Pytorch] pytorch笔记 <三>
pytorch笔记 optimizer.zero_grad() 将梯度变为0,用于每个batch最开始,因为梯度在不同batch之间不是累加的,所以必须在每个batch开始的时候初始化累计梯度,重置为 ...
- [Pytorch] pytorch笔记 <二>
pytorch笔记2 用到的关于plt的总结 plt.scatter scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, ...
- [Pytorch] pytorch笔记 <一>
pytorch笔记 - torchvision.utils.make_grid torchvision.utils.make_grid torchvision.utils.make_grid(tens ...
- Pytorch笔记 (2) 初识Pytorch
一.人工神经网络库 Pytorch ———— 让计算机 确定神经网络的结构 + 实现人工神经元 + 搭建人工神经网络 + 选择合适的权重 (1)确定人工神经网络的 结构: 只需要告诉Pytorc ...
- 【学习笔记】循环神经网络(RNN)
前言 多方寻找视频于博客.学习笔记,依然不能完全熟悉RNN,因此决定还是回到书本(<神经网络与深度学习>第六章),一点点把啃下来,因为这一章对于整个NLP学习十分重要,我想打好基础. 当然 ...
- Python机器学习笔记:卷积神经网络最终笔记
这已经是我的第四篇博客学习卷积神经网络了.之前的文章分别是: 1,Keras深度学习之卷积神经网络(CNN),这是开始学习Keras,了解到CNN,其实不懂的还是有点多,当然第一次笔记主要是给自己心中 ...
- [基础]斯坦福cs231n课程视频笔记(三) 训练神经网络
目录 training Neural Network Activation function sigmoid ReLU Preprocessing Batch Normalization 权重初始化 ...
- Coursera Deep Learning笔记 改善深层神经网络:优化算法
笔记:Andrew Ng's Deeping Learning视频 摘抄:https://xienaoban.github.io/posts/58457.html 本章介绍了优化算法,让神经网络运行的 ...
随机推荐
- Java 实现《编译原理》简单词法分析功能 - 程序解析
Java 实现<编译原理>简单词法分析功能 - 程序解析 简易词法分析功能 要求及功能 (1)读取一个 txt 程序文件(最后的 # 作为结束标志,不可省去) { int a, b; a ...
- SpringBoot项目构建、测试、热部署、配置原理、执行流程
SpringBoot项目构建.测试.热部署.配置原理.执行流程 一.项目构建 二.测试和热部署 三.配置原理 四.执行流程
- sql DATEDIFF函数使用
date_part abbreviations year yy, yyyy quarter qq, q month mm, m dayofyear dy, y day dd, d week wk, w ...
- JS实现深拷贝的几种方法
引 如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力. 此篇文章中也会简单阐述到栈 ...
- poj 3662 Telephone Lines dijkstra+二分搜索
Telephone Lines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5696 Accepted: 2071 D ...
- CentOS版本禁用Ctrl+Alt+Del重启功能
1 禁用Ctrl+Alt+Del重启功能(不重启系统的前提条件) 1.1 CentOS 6 ##查看/etc/inittab确认Ctrl+Alt+Del相关配置文件 cat /etc/initta ...
- 亮瞎你狗眼的写代码体验狂拽酷炫效果 activate-power-mode
年末了,整理一些收藏的资料,没想到发现一个敲代码的装逼神器; 话不多说上图 我是用idea装的,其他编辑器请自行查找 Preferences -> Plugins -> Install p ...
- C++入门经典-例6.9-通过指针变量获取数组中的元素
1:通过指针引用数组,需要先声明一个数组,再声明一个指针. int a[10]; int *p; 然后通过&运算符获取数组中元素的地址,再将地址值赋给指针变量. p=&a[0]; 代码 ...
- 套接字之recv系统调用
recv系统调用对sys_recvfrom进行了简单的封装,只是其中不包含地址信息,其只需要从建立连接的另一端接收信息: /* * Receive a datagram from a socket. ...
- LeetCode 31. 下一个排列(Next Permutation)
题目描述 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许使用额外常 ...