神经网络很萌的

news/2024/4/20 23:56:01/

神经网络很萌的!

0.分类
神经网络最重要的用途是分类,为了让大家对分类有个直观的认识,咱们先看几个例子:
垃圾邮件识别:现在有一封电子邮件,把出现在里面的所有词汇提取出来,送进一个机器里,机器需要判断这封邮件是否是垃圾邮件。

疾病判断:病人到医院去做了一大堆肝功、尿检测验,把测验结果送进一个机器里,机器需要判断这个病人是否得病,得的什么病。

猫狗分类:有一大堆猫、狗照片,把每一张照片送进一个机器里,机器需要判断这幅照片里的东西是猫还是狗。

这种能自动对输入的东西进行分类的机器,就叫做分类器。

分类器的输入是一个数值向量,叫做特征(向量)。在第一个例子里,分类器的输入是一堆0、1值,表示字典里的每一个词是否在邮件中出现,比如向量(1,1,0,0,0......)就表示这封邮件里只出现了两个词abandon和abnormal;第二个例子里,分类器的输入是一堆化验指标;第三个例子里,分类器的输入是照片,假如每一张照片都是320240像素的红绿蓝三通道彩色照片,那么分类器的输入就是一个长度为320240*3=230400的向量。

分类器的输出也是数值。第一个例子中,输出1表示邮件是垃圾邮件,输出0则说明邮件是正常邮件;第二个例子中,输出0表示健康,输出1表示有甲肝,输出2表示有乙肝,输出3表示有饼干等等;第三个例子中,输出0表示图片中是狗,输出1表示是猫。

分类器的目标就是让正确分类的比例尽可能高。一般我们需要首先收集一些样本,人为标记上正确分类结果,然后用这些标记好的数据训练分类器,训练好的分类器就可以在新来的特征向量上工作了。

1.神经元
咱们假设分类器的输入是通过某种途径获得的两个值,输出是0和1,比如分别代表猫和狗。现在有一些样本:

图片描述

大家想想,最简单地把这两组特征向量分开的方法是啥?当然是在两组数据中间画一条竖直线,直线左边是狗,右边是猫,分类器就完成了。以后来了新的向量,凡是落在直线左边的都是狗,落在右边的都是猫。

一条直线把平面一分为二,一个平面把三维空间一分为二,一个n-1维超平面把n维空间一分为二,两边分属不同的两类,这种分类器就叫做神经元。

大家都知道平面上的直线方程是,等式左边大于零和小于零分别表示点在直线的一侧还是另一侧,把这个式子推广到n维空间里,直线的高维形式称为超平面,它的方程是:

神经元就是当h大于0时输出1,h小于0时输出0这么一个模型,它的实质就是把特征空间一切两半,认为两瓣分别属两个类。你恐怕再也想不到比这更简单的分类器了,它是McCulloch和Pitts在1943年想出来了。

这个模型有点像人脑中的神经元:从多个感受器接受电信号,进行处理(加权相加再偏移一点,即判断输入是否在某条直线的一侧),发出电信号(在正确的那侧发出1,否则不发信号,可以认为是发出0),这就是它叫神经元的原因。

当然,上面那幅图我们是开了上帝视角才知道“一条竖直线能分开两类”,在实际训练神经元时,我们并不知道特征是怎么抱团的。神经元模型的一种学习方法称为Hebb算法:

先随机选一条直线/平面/超平面,然后把样本一个个拿过来,如果这条直线分错了,说明这个点分错边了,就稍微把直线移动一点,让它靠近这个样本,争取跨过这个样本,让它跑到直线正确的一侧;如果直线分对了,它就暂时停下不动。因此训练神经元的过程就是这条直线不断在跳舞,最终跳到两个类之间的竖直线位置。

2.神经网络
MP神经元有几个显著缺点。首先它把直线一侧变为0,另一侧变为1,这东西不可微,不利于数学分析。人们用一个和0-1阶跃函数类似但是更平滑的函数Sigmoid函数来代替它(Sigmoid函数自带一个尺度参数,可以控制神经元对离超平面距离不同的点的响应,这里忽略它),从此神经网络的训练就可以用梯度下降法来构造了,这就是有名的反向传播算法。

神经元的另一个缺点是:它只能切一刀!你给我说说一刀怎么能把下面这两类分开吧。

图片描述

解决办法是多层神经网络,底层神经元的输出是高层神经元的输入。我们可以在中间横着砍一刀,竖着砍一刀,然后把左上和右下的部分合在一起,与右上的左下部分分开;也可以围着左上角的边沿砍10刀把这一部分先挖出来,然后和右下角合并。

每砍一刀,其实就是使用了一个神经元,把不同砍下的半平面做交、并等运算,就是把这些神经元的输出当作输入,后面再连接一个神经元。这个例子中特征的形状称为异或,这种情况一个神经元搞不定,但是两层神经元就能正确对其进行分类。

只要你能砍足够多刀,把结果拼在一起,什么奇怪形状的边界神经网络都能够表示,所以说神经网络在理论上可以表示很复杂的函数/空间分布。但是真实的神经网络是否能摆动到正确的位置还要看网络初始值设置、样本容量和分布。

神经网络神奇的地方在于它的每一个组件非常简单——把空间切一刀+某种激活函数(0-1阶跃、sigmoid、max-pooling),但是可以一层一层级联。输入向量连到许多神经元上,这些神经元的输出又连到一堆神经元上,这一过程可以重复很多次。这和人脑中的神经元很相似:每一个神经元都有一些神经元作为其输入,又是另一些神经元的输入,数值向量就像是电信号,在不同神经元之间传导,每一个神经元只有满足了某种条件才会发射信号到下一层神经元。当然,人脑比神经网络模型复杂很多:人工神经网络一般不存在环状结构;人脑神经元的电信号不仅有强弱,还有时间缓急之分,就像莫尔斯电码,在人工神经网络里没有这种复杂的信号模式。

神经网络的训练依靠反向传播算法:最开始输入层输入特征向量,网络层层计算获得输出,输出层发现输出和正确的类号不一样,这时它就让最后一层神经元进行参数调整,最后一层神经元不仅自己调整参数,还会勒令连接它的倒数第二层神经元调整,层层往回退着调整。经过调整的网络会在样本上继续测试,如果输出还是老分错,继续来一轮回退调整,直到网络输出满意为止。这很像中国的文艺体制,武媚娘传奇剧组就是网络中的一个神经元,最近刚刚调整了参数。

3.大型神经网络

我们不禁要想了,假如我们的这个网络有10层神经元,第8层第2015个神经元,它有什么含义呢?我们知道它把第七层的一大堆神经元的输出作为输入,第七层的神经元又是以第六层的一大堆神经元做为输入,那么这个特殊第八层的神经元,它会不会代表了某种抽象的概念?

就好比你的大脑里有一大堆负责处理声音、视觉、触觉信号的神经元,它们对于不同的信息会发出不同的信号,那么会不会有这么一个神经元(或者神经元小集团),它收集这些信号,分析其是否符合某个抽象的概念,和其他负责更具体和更抽象概念的神经元进行交互。

2012年多伦多大学的Krizhevsky等人构造了一个超大型卷积神经网络[1],有9层,共65万个神经元,6千万个参数。网络的输入是图片,输出是1000个类,比如小虫、美洲豹、救生船等等。这个模型的训练需要海量图片,它的分类准确率也完爆先前所有分类器。纽约大学的Zeiler和Fergusi[2]把这个网络中某些神经元挑出来,把在其上响应特别大的那些输入图像放在一起,看它们有什么共同点。他们发现中间层的神经元响应了某些十分抽象的特征。

第一层神经元主要负责识别颜色和简单纹理

图片描述

第二层的一些神经元可以识别更加细化的纹理,比如布纹、刻度、叶纹。

图片描述

第三层的一些神经元负责感受黑夜里的黄色烛光、鸡蛋黄、高光。

图片描述

第四层的一些神经元负责识别萌狗的脸、七星瓢虫和一堆圆形物体的存在。

图片描述

第五层的一些神经元可以识别出花、圆形屋顶、键盘、鸟、黑眼圈动物。

图片描述

这里面的概念并不是整个网络的输出,是网络中间层神经元的偏好,它们为后面的神经元服务。虽然每一个神经元都傻不拉几的(只会切一刀),但是65万个神经元能学到的东西还真是深邃呢。

[1] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
[2] Zeiler, M. D., & Fergus, R. (2013). Visualizing and understanding convolutional neural networks. arXiv preprint arXiv:1311.2901.

作者:王小龙
链接:https://www.zhihu.com/question/22553761/answer/36429105
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


http://www.ppmy.cn/news/263444.html

相关文章

用Python做了一个猫狗识别系统~

导语 哈喽吖铁汁萌~今天来教大家写个猫狗识别系统 小猫小狗真的太可爱了🙈🙈 想领取更多完整源码跟Python学习资料的可点击这行 这篇文章中我放弃了以往的model.fit()训练方法,改用model.train_on_batch方法。两种方法的比较: …

图片处理——基于openCV实现美颜相机

今天是2017年最后一晚,希望大家元旦前夕玩得开心,准备迎接2018全新的一年,活出程序员的态度。 最近发现有些女孩在朋友圈发的自拍照肤白貌美,甚至头上魔幻般地长出猫耳朵、猫鼻子、猫胡须,各种调皮搞怪。这一切归功于程…

图片识别商品接口 API:天猫淘宝

onebound.taobao.img2text 公共参数 注册地址登录 - 跨境电商平台接口提供商 数据采集公司 数据接口定制服务 企业级数据服务商 请求地址: https://api-gw.onebound.cn/taobao/img2text 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中&#xff09…

java实行图片上写字

撸了今年阿里、头条和美团的面试,我有一个重要发现.......>>> 本文永久地址:https://my.oschina.net/bysu/blog/1510482 背景:因为测试过程中需要用到不同的某证件,于是网上找了一个某证件生成器,不过没用多…

popo猫回收站,宅男必备

众所周知,popo猫回收站是一个有意思的回收站啊,只不过今天遇见一个粉丝私信我说看网上的视频什么iso不会让我帮帮,我就很爽快的答应了。 最终效果图 首先我们下载素材,我这里给了素材下载连接,第一个也就是dll&#xf…

简简单单用OpenCV让一只小猫咪变成奶凶奶凶的科技猫

点击上方“AI算法与图像处理”,选择加"星标"或“置顶” 重磅干货,第一时间送达 导读 Hi,大家好,今天给各位读者分享一个比较酷炫的特效。 下面将会一步一步演示,并 详细分析内部的原因,会尽量用…

无版权图片网站汇总

无版权图片网站大推荐 无论是写文章、做 PPT 还是找壁纸、换头像,搜图片都是件费时却最出效果的事情。图片素材这种东西,尤其是可自由修改使用的图片素材,向来是嫌少不嫌多的。从此再也不会被找图这件事情所束缚。 本次推荐分为第一找图梯队…

OpenCV/C++ 图片锐化

偷偷拿来记录一下萌新的cs路——day 42 暑假培训作业 处理平面图形需要用到2D卷积。常见锐化滤波器: (-k -k -k -k 8k -k -k -k -k) 用(0,1,0 处理: -1,5,-1…

主播必备超萌代打猫咪,超人气全键盘版资源下载~

主播最喜欢的超萌猫咪登场 最近主播们开始使用一款超萌猫咪, 提升直播间的人气,使用效果如下 这只猫咪真的是超萌!猫咪可以实时显示你的鼠标移动,鼠标左键右键点击,键盘按键,并且可以通过Ctrl1,Ctrl2,Ctrl3…

猫狗训练单张图片的测试

猫狗训练的训练模型的建立,模型在整个预测集上的预测效果的测试的程序代码网上或一些书籍上都可查阅,但是对单张或某些图片的分类测试程序不多,这里通过参考博客:https://blog.csdn.net/baidu_35113561/article/details/79371716 …

java boot将一组yml配置信息装配在一个对象中

其实将一组yml数据封进一个对象中才是以后的主流开发方式 我们创建一个springboot项目 找到项目中的启动类所在目录 在同目录下创建一个类 名字你们可以随便取 我这里直接叫 dataManager 然后 在yml中定义这样一组数据信息 然后 我们在类中定义三个和这个配置信息相同的字段…

通过shell脚本执行python程序并进行多次命令行传参

写在前面的话 这个代码功能是通过flownet2提取视频帧的光流信息,代码链接:https://github.com/NVIDIA/flownet2-pytorch,因为该开源工程代码只能指定到 .jpg .png 等视频帧的当前目录,而我们需要提取光流的视频帧在多级目录下&am…

从再见Borland说起

自从Borland把CodeGear剥离出去以后,我就基本上没有再关注过Borland,最多看看那些在CodeGear的熟人如李维或DavidI(David Intersimone)有什么新消息。 在 此之前,关于Borland的最“新”消息就是美国时间5月6日Borland被MicroFocus公司以7500…

英文版-安静-Hillsong-Still

基督教 赞美诗歌 Hymns Lyrics MP3 中文版 英文版 中英对照 MP3音频提取(自动播放): http://filer.blogbus.com/5320797/resource_53207971262515539h.mp3 (右击迅雷或目标另存为) 词曲: 写作背景介绍&…

经典中文歌曲-英文版

经典中文歌曲-英文版 15首(第一期) 青春派对是大约与小虎队、红唇族同时的台湾演唱组合,歌手资料不详 。主要作品是 经典中文歌曲的英文翻唱,大陆发行过几盘磁带,很快就消声匿迹了。这里介绍给大家 的是由华星唱片公…

后妈茶话会_歌词(Tough Love)

Ever since I was a girl my own mother vowed 从我小时候起,我母亲就要我立誓 I must find the way to power through a noble brow 我必须找到爬上权利顶端的捷径 I married once for love then my senses came 因爱结婚,突然我意识到 I must marry fo…

起风了-英文版

Roving one way or another 这一路上走走停停 Back forth with drifting water 顺着少年漂流的痕迹 When the site is getting closer 迈出车站的前一刻 My steps falter 竟有些犹豫 Despite long rides, I wanna take flight 不禁笑这近乡情怯 What a bitter plight 仍无可避免…

“遇见”英文版 歌词

“遇见”英文版 这是翻唱电影“向左走向右走”主题曲的英文版吗? 你有惊讶于这个版本与原曲的大不同吗?其实这就是原作者“林一峰”在创作这首歌时的最原始版本,而且在被创作出来的刹那,竟然是以英文呈现的!来自香港的林一峰其实…

张学友《 吻别》

张学友《 吻别》 词/何启弘 曲/殷文琦 ^^故园的红叶^^ 前尘往事成云烟消散在彼此眼前 就连说过了再见也看不见你有些哀怨 给我的一切你不过是在敷衍 你笑的越无邪我就会爱你爱得更狂野 总在刹那间有一些了解 说过的话不可能会实现 就在一转眼发现你的脸 已经陌生不会再像从前 我…

take me to your heart 我太喜欢这首歌了.听过张学友的吻别了吗?你,如果你没听过,那你应该听听这首,如果你听过了,那你更应该听听这首歌!

take me to your heart 歌词 Hiding from the rain and snow Trying to forget but I wont let go Looking at a crowded street Listening to my own heart beat So many people all around the world Tell me where do I find someone like you girl Take me to your heart…