神经网络(NN)

学习地址


深度学习框架哪家强?

  • TensorFlow
  • Keras
  • PyTorch

无论用什么工具包,实现结果差异不大。效果通常大不多

为什么选择keras?

  • 便捷快速
  • 优化器optimizer
  • 损失函数loss

更新

新的算法和论文,框架更新的很快,提供API。

  • 安装keras
  • 安装相关的依赖
  • 配置文件配置好

神经网络

神经网络(NN)_第1张图片

仿生模型

  • 树突接收神经元的信号
  • 轴突完成神经元信号的发送
    神经网络(NN)_第2张图片

人工神经网络就是在模仿生物神经网络的工作原理

我们需要做的工作

  • 确定权重参数W
  • 和偏差参数b
  • 选择一个合适的激活函数

【实验】通过神经网络训练得到3是正数还是负数

a输入数据后我们会在c,d处得到结果

给计算机一点训练数据

  • 当在a输入1的时候,告诉计算机cd输出10是正确的
  • 当在a输入0的时候,告诉计算机cd输出01是正确的

我们就说cd组成了一个列向量,10对应的是正数,01对应的是负数。

设计神经网络的过程

  • 其实就是在设计各个节点之间的权重参数是多少的过程
  • 让输出结果是我想要的结果

用一些方法评价偏差并试图减小偏差

  • 最小二乘法等
  • 寻优算法

寻优算法

通过一个个样本不断得到值

神经网络工作原理

  • 同一层的神经网络用向量表示
  • 权重用w表示
  • 偏置用b表示

我们可以逐层得到神经网络下一层的值是多少

激活函数

  • 使数值在01中
  • 变换成非线性运算

像输出层的前一层求梯度

反向传播算法计算梯度

  • 最速下降法
  • 梯度下降法

c学习因子

举一反三

我们的例子

都是列向量,标量

如何进行图像识别

数字/图片而言,他是像素

将图片按照像素去划分

  • 0代表黑色部分,1代表白色部分
  • 通过变形将图像矩阵变成列向量
  • 输入到网络结构训练
  • 输出层:10个单元

存在的问题

存在输入矩阵/输入向量的维度比较高

  • 采用卷积的方式处理这样的数

你可能感兴趣的:(神经网络,神经网络,深度学习,深度优先)