小白学数据之什么是神经网络

简介:

导语


在上一次的小白学数据时间里,我们了解了什么叫做机器学习。目前最热门的一种机器学习方法叫做神经网络。它经历了90年代到00年代的深山归隐期,在10年代重出江湖的时候,已经令世人刮目相看。知道前几天在围棋界打败天下无敌手的AlphaGo吧(甚至输入法都提示我,G应该大写)?用的就是神经网络。神经网络这个听起来无比深奥的概念,其实小白也能够明白它是个啥。让我们试试是否可以“窥一斑而知全豹”。

 

小白问:好吧,你来给我讲讲什么是神经网络吧?

答:神经网络,顾名思义,就是由神经元之间互相交流,从而形成的一个网络结构。在计算机出现之后,神经网络特指利用计算机模拟人类脑神经工作的算法。


小白问:呃,忘了我是小白啦?算法是个啥意思?

答:算法就是计算机的工作流程。一个很简单的例子,我们想要一个机器人去烧水,那么它打开壶盖,拧开水龙头,往壶里接水,拧紧水龙头,关壶盖,把壶放在电磁炉上,通电烧水,这整个流程就是一个算法。


小白问:那什么是神经元呢?

答:人脑中数以千万计的小细胞就称为神经元,它们之间相互连接,形成错综复杂的网络关系。每时每刻,这些小细胞都在一直感知世界并从中进行学习,也在互相交流学习经验。每一个神经元都代表了一个不同的想法、记忆或者,感觉。 


                           

小白问:等一下,你说的是人脑里的神经元?不是说计算机算法吗?神经网络算法是在模拟我们人脑神经元工作?

答:对!我们以谷歌的深度梦想项目 (Deep Dream)来作为例子。在深度梦想这个人工神经网络中,谷歌的工程师创造了一堆人工神经元(每一个神经元都可以是一个独立的CPU,或者一个CPU上的一个核。现在可以认为,每一个神经元是一个GPU的一个处理单元。),然后将这些神经元一层一层的累起来。


当给计算机输入一幅图片时,层与层之间的神经元会一起协同工作,以弄清楚它们所在的这样一个网络能够看到些什么。在不断的学习过程中,每一层的神经元在它自己的水平上,都会对这幅图片有更加“深入”的理解。下一层的神经元会在这一层神经元的帮助下,对图片内容有更贴切的“猜想”。在用非常大量的已知图片去训练深度梦想之后,它最终就可以区分猫咪和小狗—甚至它可以自己画出来这些小萌宠。


小白问: 听说神经网络是个新玩意儿啊!那人工神经网络和计算机通常传统的工作流程有什么区别吗?

答:我们讲讲最先进的人工神经网络(就是有好几层累起来的,所谓深度神经网络。想知道什么是深度学习吗?关注我们之后的小白学数据栏目哦~)与计算机普通工作流程的区别吧。让我们举个很简单的例子。宝妈妈之前有一个大宝,妈妈给大宝买了一个很萌的卷笔刀,并且告诉大宝,卷笔刀只能用来卷铅笔,不可以把手指插进去。于是,大宝知道了卷笔刀只可以卷铅笔。后来,宝妈妈有了小宝,妈妈很小就让小宝上了幼稚园。有一次,一个小朋友,小明,拿来了一个小玩意,他用那个小玩意把自己的铅笔削得尖尖的。小明告诉大家,这个小玩意叫做卷笔刀。另外一个小朋友觉得很新奇,就拿来玩,她把自己的小拇指插进了卷笔刀,结果哇的一声哭了,还留了血。从此以后,小宝知道了,卷笔刀只能用来卷铅笔,不可以用来卷手指。所以呢,大宝,就是计算机常见的工作流程,你得喂它一堆规则,让它建立起一个学习集合;小宝,就是我们这里讲的人工神经网络了,你给它很多实例,让它自己,通过几层神经元之间的交互反馈学习,获得知识。一句话,神经网络就是让计算机学会自己学习。


小白问:你又用我不知道的生词儿了。什么叫反馈学习啊?

答:反馈学习的过程就是不断修正自我感知的过程。比如很小的时候,我们可能认为身高小于1米的人就称之为小孩子,但在不断学习的过程中,我们后来知道,有一种侏儒症患者,即便他们是成人,身高也可能小于1米。这个学习过程,就叫做反馈学习,即不断用外界的实例来更正自己的感知世界。神经网络也是这样工作的哟~


小白问:你刚才说了这么多,能不能再给我串起来,简单的说一下到底什么是神经网络吗?

答:好呢。传统计算机的思维过程,有点像搭乘地铁。为了去到市区,计算机也许需要通过许多站,也许,还需要换乘几号线。但人脑的思维过程,更类似空间穿梭  --  可以瞬时从一个地点去到另一个地点。一旦我们经历了一次到市区的地铁之行—就会在脑袋中,把这两个站直接连接起来,这两个站之间就可以直接联系,而无需经过中间的那些站。神经网络,就是要模拟人脑的思维过程。


回到字面解释上来,神经元能够实时的更新它们的连接方式,以使工作效率更高。这就是我们怎样学习,怎样将新的想法集合起来形成创新性的思维的过程。如果我们能够在神经网络中模拟出同样的效果,那么,我们就可以教会计算机像人类一样思考。

所以呢,一句话,神经网络就是通过神经元之间不断更新自我以及彼此之间的联系,使计算机能够更加灵活的学习。


小白问:和常规的计算机比起来,神经网路更擅长做什么呢?

答:只要现在人类比计算机更擅长做的事情,神经网络也同样擅长(它本来就是因为想模仿人类大脑而产生的嘛~):例如,写一个故事,分析艺术作品想要传达的含义,甚至说,驾驶汽车,或者从说话内容和肢体语言来理解一个人。让我们再来谈谈谷歌的深度梦想。在看一幅图片时,谷歌开发的这个神经网络并不是仅仅看到的是像素。实际上,它可以告诉你这幅图片包含了些什么。这是人类与生俱来拥有的能力,但迄今为止,这还是计算机无法做到的事情。


小白问:神经网络还有哪些好的应用呢?

答:除了深度梦想,谷歌的无人驾驶汽车也是用神经网络来检测行人的。但神经网络可不是谷歌的专利。脸书使用神经网络来区分人脸并判别你的朋友。神经网络还被用来设计新的字体、创造数字涂鸦,甚至在推特上假扮特朗普。


小白问:在未来的短短几年内,神经网络会发展成什么样子?

答:神经网络是使计算机更像人类的关键,可以自动化人脑解决问题的过程,并拥有创新的能力。将神经网络和交互式界面相结合,就可能最终实现真正的人工智能—这场革命会彻底改变我们做任何事情的方式。以后设计师不仅仅是使用神经网络;神经网络自己本身就可以变成一个非常好的设计师(因为神经元们在不断的学习,也在不断的更新自己的知识)。


你现在基本上了解神经网络大概在干嘛了吗?我们还会有进阶版,更深入的介绍神经网络和深度学习。小白下次见!


原文发布时间为:2016-04-20

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
5月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
467 0
|
6月前
|
机器学习/深度学习 数据采集 传感器
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
222 0
|
7月前
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
211 0
|
8月前
|
Python
LBA-ECO CD-32 通量塔网络数据汇编,巴西亚马逊:1999-2006,V2
该数据集汇集了1999年至2006年间巴西亚马逊地区九座观测塔的碳和能量通量、气象、辐射等多类数据,涵盖小时至月度时间步长。作为第二版汇编,数据经过协调与质量控制,扩展了第一版内容,并新增生态系统呼吸等相关计算数据,支持综合研究与模型合成。数据以36个制表符分隔文本文件形式提供,配套PDF说明文件,适用于生态与气候研究。引用来源为Restrepo-Coupe等人(2021)。
235 1
|
4月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
229 0
|
5月前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
7月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
211 4
|
8月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
10月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
298 22
|
10月前
|
存储 数据库 Python
利用Python获取网络数据的技巧
抓起你的Python魔杖,我们一起进入了网络之海,捕捉那些悠游在网络中的数据鱼,想一想不同的网络资源,是不是都像数不尽的海洋生物,我们要做的,就是像一个优秀的渔民一样,找到他们,把它们捕获,然后用他们制作出种种美味。 **1. 打开魔法之门:请求包** 要抓鱼,首先需要一个鱼网。在Python的世界里,我们就是通过所谓的“请求包”来发送“抓鱼”的请求。requests是Python中常用的发送HTTP请求的库,用它可以方便地与网络上的资源进行交互。所谓的GET,POST,DELETE,还有PUT,这些听起来像偶像歌曲一样的单词,其实就是我们鱼网的不同方式。 简单用法如下: ``` im
184 14

热门文章

最新文章