图像识别可以用于读图,有了之前的基础,我们甚至可以读取如此复杂的图,来辨别动物。今天我们学习机器学习,可能不能立杆见影看效益。以后也可能不会带来附加价值。但是我相信至少会开阔我们的思路,增强我们学习新知识的方法。
![](https://img.haomeiwen.com/i8207483/cdd96221f4a20e6f.jpg)
![](https://img.haomeiwen.com/i8207483/cc2c08a230b7d37c.jpg)
我们将彩色的图取他明暗通道会得到右边的图,设计神经元读图,然后很读图信息来对比狮子的特征值来判断这是否是一只狮子。
![](https://img.haomeiwen.com/i8207483/475656807016db9e.jpg)
同样也可以应用在语音识别上,将单词细分为音节来作为神经元来搭建神经网络
![](https://img.haomeiwen.com/i8207483/d84917673c0a7211.jpg)
回答第一次分享,识别手写数字的解决方案上。我们用神经元来表示图中的每个像素,神经元的值为像素的灰度值。然后和一些图样进行对比,这里每个神经元的 p 值就是该像素的灰度值。
![](https://img.haomeiwen.com/i8207483/dad273d240c2e3e4.jpg)
下一层神经元的输入是上一层神经元值在乘上他的加权值,我们可以回顾一下上一次的分享,每个像素的加权值 w 都不同,有正有负正的加权值用绿色线表示,负的加权值用红色线表示。右边图是这个神经元对应的图样,如果有这个这个神经元就会被激活值。
![](https://img.haomeiwen.com/i8207483/999c752722b7dcdb.jpg)
![](https://img.haomeiwen.com/i8207483/b3c35d2ffe64d145.jpg)
我们通过对每个像素灰度值乘以加权值后取和。
![](https://img.haomeiwen.com/i8207483/bf617aca831c6fe4.jpg)
每个像素乘以加权值后用红绿。在右侧可以看到效果图。图中线的颜色表示加权的的值,右侧用图像呈现像素加权后的效果。
![](https://img.haomeiwen.com/i8207483/426762235454df83.jpg)
这里是我们期望的加权取和后的图样,这样我们就能判断图中是否我们需要的小短线了。
![](https://img.haomeiwen.com/i8207483/08055021611c365e.jpg)
我们看到图是手写的 7 。我们想要判断出 7 的小横线。
![](https://img.haomeiwen.com/i8207483/27c688fe7b59a8b0.jpg)
![](https://img.haomeiwen.com/i8207483/d482da9fac8aa5f7.jpg)
我们可以通过对横线上下进行判断来确定这是一条短的小横线。
![](https://img.haomeiwen.com/i8207483/f3cd37a7c575cc2b.jpg)
![](https://img.haomeiwen.com/i8207483/17bef124b4008d97.jpg)
计算后的结果值范围很广,可能是任意值,我们可以通过 sigmoid 函数来将其控制在 0 - 1之间
![](https://img.haomeiwen.com/i8207483/979ef7576bdf41d8.jpg)
![](https://img.haomeiwen.com/i8207483/5ecf514e637bfdae.jpg)
![](https://img.haomeiwen.com/i8207483/5a0853fce20a94b2.jpg)
![](https://img.haomeiwen.com/i8207483/7c01f7a265fd85f2.jpg)
![](https://img.haomeiwen.com/i8207483/82f7588a81e2e150.jpg)
![](https://img.haomeiwen.com/i8207483/b592d7fa45a38871.jpg)
偏移值是对激活值进行平移,调整值落在我们期望的范围内
![](https://img.haomeiwen.com/i8207483/bb393395edc1fd50.jpg)
![](https://img.haomeiwen.com/i8207483/ad3ae8f5f05fe46b.jpg)
![](https://img.haomeiwen.com/i8207483/31a749b788873eac.jpg)
第二层所有的神经元都会接受第一层的神经元的激活值乘以 加权值然后取和再加上偏移量
![](https://img.haomeiwen.com/i8207483/93242c630ac3ae25.jpg)
我们设计好的神经网络,分为 4 层 包括了输入层和输出层,中间两层为隐藏层。前一层的所有神经元都会与下一层的每个神经元连接。这样计算一下 weight 13002 和bias 42
![](https://img.haomeiwen.com/i8207483/4219b56f69896c9e.jpg)
现在我们已经设计好了识别手写数字的神经网络的结构,还没有开始学习,机器需要通过不断地学习来调整 weight 和 biases 值。
网友评论