1.2 神经元和大脑
早期是尝试利用软件模仿人脑。
1.3 需求预测
其中a被称作是activation(激活)。指的是一个神经元给下一个神经元多少的高输入,也是上一个神经元对应的输出。
下图所示,最左侧为一个四个特征的输入向量x,然后经过一个隐藏层后,我们得到了一个激活向量a,这个a的维度是所经过隐藏层的神经单元个数。最后通过一个层进行了汇总,得到了一个新的a。
隐藏层也可以有多层,如下图所示,隐藏层的个数以及各层神经单元的个数都是可以设置的,这就涉及到神经网络架构的问题,下图左侧我们可以称为是多层感知器。
1.4 举例-图像感知
判断下图中的女人身份。
汽车检测。
2.1 神经网络中的网络层
下图所表示的是神经网络中第一层,每一个神经元的上标所表示的就是属于第几层,下标表示的是对应的第几个神经元,最后输出的作为激活向量a。
上图第二层的输入为第一层的输出激活向量a,由于第二层只有一个神经元,我们可以看到最后输出的a值也只有一个维度。
最后还有一个可选步骤就是得到输出值a后,可以选择是否将其转化为y-hat,即0或1。
2.2更复杂的神经网络
从下图可以看出,这个写法。
需要注意的是函数g代表的是激活函数们现在我们只了解到了sigmoid这个激活函数,后续也会了解到其他激活函数的形式。
输入x向量课可以称作是a0向量。
2.3 神经网络前向传播
3.1如何用代码实现推理
在tensorflow中进行计算。
3.2 tensorflow中的数据格式
下面三种第一种是矩阵为1*2的(由于是矩阵所以有两个大方括号)
第二种为2*1,可以很明显看到与上一个的区别
最后一种只有一个大的方括号,可以看出他表示的只是一个两个元素的数组,无矩阵层面上的含义
下图展示了tensorflow和numpy的区别,以及二者之间可以进行相互转换。
3.3 搭建一个神经网络
4.1 单个网络层上的前向传播
从下图中的表达式中可以看到,首先声明了各个神经元w和b的取值然后得到z,之后通过sigmoid函数得到a,对第一层的每个神经元都进行该操作,最后得到a1,也就是第二层的激活输入a向量。
第二层也是该操作。
4.2前向传播的一般实现
左侧的代码是一层的实现,右侧的代码是将四层联合起来,相当于整个模型的实现
5.1 强人工智能
6.1 神经网络为何如此高效
6.2 矩阵乘法
向量点乘:
6.4矩阵乘法代码