一、人工神经元

上方人工神经元中:

  1. 输入 * 权重 ——>  相当于 人神经元中  树突的功能
  2. 各输入 相加 ,再做非线性变化f ——>  相当于胞体的功能
  3. 将非线性变化的结果输出 ——> 相当于轴突

在非线性函数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)的神经元组成的神经网络 可以模拟 任何闭区间上的连续分段线性函数

如果输入和输出直接的关系 不是分段 线性函数,还能不能用 神经网络模拟? ———— 当然可以

原因:  任意一个 输入/输出关系 都可以用分段线性函数来近似,只要分段点足够多,就可以非常准确地用 分段函数 来近似这个函数。而 分段线性函数,可以通过人工神经网络搭建来得到————>  只要人工神经网络 中的神经元 数目足够多,神经元之间的关系 足够复杂,就可以非常精确的模拟任意的 输入/ 输出关系    【即,万能近似定理

三、神经网络的设计和权重的学习

  1. 神经网络结构的确定:    神经元个数越多,链接越复杂,能便是的 输入/输出 关系越多,对特定 输入/输出关系的表达 就 越精确,但也就越难找到 最合适的权重------最优的输入/输出关系   【中间 存在 折中关系
  2. 神经网络中神经元权重的确定:         权重的选取  可以看作  是一个 优化问题 。  对于每一组确定的权重值,我们可以确定出优化问题的 收益或损失。当权重不合适时,优化问题的收益笑,损失大;权重合适时,优化问题的收益大,损失小   【通过调节权重,最大化收益,最小化损失,就可以得到合适的权重

Pytorch笔记 (1) 初始神经网络的更多相关文章

  1. CNN学习笔记:卷积神经网络

    CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...

  2. [Pytorch] pytorch笔记 <三>

    pytorch笔记 optimizer.zero_grad() 将梯度变为0,用于每个batch最开始,因为梯度在不同batch之间不是累加的,所以必须在每个batch开始的时候初始化累计梯度,重置为 ...

  3. [Pytorch] pytorch笔记 <二>

    pytorch笔记2 用到的关于plt的总结 plt.scatter scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, ...

  4. [Pytorch] pytorch笔记 <一>

    pytorch笔记 - torchvision.utils.make_grid torchvision.utils.make_grid torchvision.utils.make_grid(tens ...

  5. Pytorch笔记 (2) 初识Pytorch

    一.人工神经网络库 Pytorch ———— 让计算机  确定神经网络的结构 +   实现人工神经元 + 搭建人工神经网络 + 选择合适的权重 (1)确定人工神经网络的 结构: 只需要告诉Pytorc ...

  6. 【学习笔记】循环神经网络(RNN)

    前言 多方寻找视频于博客.学习笔记,依然不能完全熟悉RNN,因此决定还是回到书本(<神经网络与深度学习>第六章),一点点把啃下来,因为这一章对于整个NLP学习十分重要,我想打好基础. 当然 ...

  7. Python机器学习笔记:卷积神经网络最终笔记

    这已经是我的第四篇博客学习卷积神经网络了.之前的文章分别是: 1,Keras深度学习之卷积神经网络(CNN),这是开始学习Keras,了解到CNN,其实不懂的还是有点多,当然第一次笔记主要是给自己心中 ...

  8. [基础]斯坦福cs231n课程视频笔记(三) 训练神经网络

    目录 training Neural Network Activation function sigmoid ReLU Preprocessing Batch Normalization 权重初始化 ...

  9. Coursera Deep Learning笔记 改善深层神经网络:优化算法

    笔记:Andrew Ng's Deeping Learning视频 摘抄:https://xienaoban.github.io/posts/58457.html 本章介绍了优化算法,让神经网络运行的 ...

随机推荐

  1. Java 实现《编译原理》简单词法分析功能 - 程序解析

    Java 实现<编译原理>简单词法分析功能 - 程序解析 简易词法分析功能 要求及功能 (1)读取一个 txt 程序文件(最后的 # 作为结束标志,不可省去) { int a, b; a ...

  2. SpringBoot项目构建、测试、热部署、配置原理、执行流程

    SpringBoot项目构建.测试.热部署.配置原理.执行流程 一.项目构建 二.测试和热部署 三.配置原理 四.执行流程

  3. sql DATEDIFF函数使用

    date_part abbreviations year yy, yyyy quarter qq, q month mm, m dayofyear dy, y day dd, d week wk, w ...

  4. JS实现深拷贝的几种方法

    引 如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力. 此篇文章中也会简单阐述到栈 ...

  5. poj 3662 Telephone Lines dijkstra+二分搜索

    Telephone Lines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5696   Accepted: 2071 D ...

  6. CentOS版本禁用Ctrl+Alt+Del重启功能

    1  禁用Ctrl+Alt+Del重启功能(不重启系统的前提条件) 1.1  CentOS 6 ##查看/etc/inittab确认Ctrl+Alt+Del相关配置文件 cat /etc/initta ...

  7. 亮瞎你狗眼的写代码体验狂拽酷炫效果 activate-power-mode

    年末了,整理一些收藏的资料,没想到发现一个敲代码的装逼神器; 话不多说上图 我是用idea装的,其他编辑器请自行查找 Preferences -> Plugins -> Install p ...

  8. C++入门经典-例6.9-通过指针变量获取数组中的元素

    1:通过指针引用数组,需要先声明一个数组,再声明一个指针. int a[10]; int *p; 然后通过&运算符获取数组中元素的地址,再将地址值赋给指针变量. p=&a[0]; 代码 ...

  9. 套接字之recv系统调用

    recv系统调用对sys_recvfrom进行了简单的封装,只是其中不包含地址信息,其只需要从建立连接的另一端接收信息: /* * Receive a datagram from a socket. ...

  10. LeetCode 31. 下一个排列(Next Permutation)

    题目描述 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许使用额外常 ...