神经网络
3.1如何用代码实现推理
-
例1:烤咖啡豆,如何知道200度烤17分钟是否会产生好咖啡?
三角框内都能产生好咖啡
x是输入值,用Dense函数来建立一个有3个神经元的第一层,并使用Sigmoid作为激活函数;把x输入第一层a1;同样的方法建立第二层并把第一层的结果输入到第二层;最后判断最终结果。
-
例2:手写数字分类模型
x是像素强度值的列表。
3.2Tensorflow中数据形式
Tensorflow是如何表示数据的?
单括号代表一维向量,只是一个数字列表,当使用线性回归和逻辑回归时,使用一维向量来表示输入特征x;对于TensorFlow,使用矩阵来表示数据 。
a1代表1*3的矩阵,.Tensor为TensorFlow表示矩阵的一种方式,.numpy表示可以转换回Numpy数组。
a2代表1*1的矩阵。
3.3搭建一个神经网络
直接把dense写在sequential里,不再显示的写layer_1、layer_2了
4.1单个网络层上的前向传播(python神经网络建模)
如何实现?
如图上标1表示的是第一层,下标1表示的是该层的第一个神经元;x为一维数组,不是二维矩阵;之后会讲到反向传播算法,wb先设定初始值(随机),之后根据训练样本从后向前更新参数;疑问:w2_1应该有三个元素才能和a1进行点积运算,为什么图片上是两个元素?
a1=np.array([a1_1,a1_2,a1_3])
4.2前向传播的一般实现(代码展示)
shape是numpy数组的一个属性,是tuple结构,shape[0]是行数,shape[1]是列数;大写W是一个矩阵。
5.1强人工智能
狭义AI(ANI):只能处理特定问题
广义AI(AGI):能够处理各种问题
通过自然语言处理正在逐渐实现广义AI,比如最近Google的LaMDA具有感情的新闻。