内容简介:本文为 AI 研习社编译的技术博客,原标题 :Neural networks for dummies: a quick intro to this fascinating field
本文为 AI 研习社编译的技术博客,原标题 :
Neural networks for dummies: a quick intro to this fascinating field
作者 | Dalya Gartzman
翻译 | Disillusion
校对 | 酱番梨 整理 | 菠萝妹
原文链接:
https://medium.freecodecamp.org/neural-networks-for-dummies-a-quick-intro-to-this-fascinating-field-795b1705104a
你是否想知道大家都在谈论的神经网络到底是什么,但你又不敢去问?哈哈,别再害怕了!读了这篇文章,你将能够走进任何一个会议,用你新获得的流行词在午餐桌上大放异彩!
如果你在过去几年里打开过浏览器,你一共见过“神经网络”这个词(几百次)了。
在这篇短文中,我将给你一些关于神经网络和其领域的一些知识。在接下来的5分钟里,你可能不会成为这个领域的世界专家,但你会经历一个不平凡的入门阶段。你也会学到一些时髦的词汇来给餐桌上的家人留下深刻印象,尤其是当你真的照着文末的阅读清单去读书。
什么是机器学习?
要理解神经网络,我们首先需要理解机器学习。为了理解机器学习,我们得先谈谈人类学习,也就是“经典编程”。
在经典编程中,作为开发人员,我需要理解我试图解决的问题的各个方面,并确切地知道所有的规则是什么,以使我的程序成为解决方案。
例如,假设我想让我的程序知道正方形和圆形之间的区别。处理它的一种方法是编写一个程序,它可以检测角,然后应用它来计数角。如果程序看到四个角,那么这个形状就是正方形,如果程序看不到角,那么这个形状就是圆形。
而机器学习呢?一般来说,机器学习=从例子中学习。
在机器学习中,当我们面对同样的区分圆和正方形的问题时,我们会设计一个学习系统,该系统会以形状及其类(正方形或圆形)的许多例子作为输入。我们希望机器能自己学会区分它们的特性。
然后,我的朋友们,一旦机器学习了所有这些特性,我就可以给它一个新的圆或正方形的图像,一个它以前没见过的图像,一切顺利的话,它将能对其正确地分类。
什么是神经元?
神经元,在神经网络的背景下,是自作聪明的人想的一个花哨的名字,实际上它们就是函数。函数,在数学和计算机科学的背景下,也是一个花哨的名称,用来表示接受一些输入,应用一些逻辑,并输出结果的东西。
说的更确切些,神经元可以看作是一个学习单元。
因此,我们需要理解在机器学习的背景下,什么是学习单元。然后我们还将了解神经网络最基本的组成部分,即神经元。
为了举例说明,假设我试图理解一篇博客文章中的字数与人们实际从那篇博客文章中读到的字数之间的关系。记住,我们在机器学习领域,我们从例子中学习。
所以我收集了很多关于博客文章字数的例子,用x表示,以及人们在这些文章中实际读了多少个单词,用y表示,我想它们之间有某种关系,用f表示。
然而,诀窍是,我只需要告诉机器(程序)我期望看到的关系是什么(例如一条直线),机器就会理解它实际需要绘制的线。
我从中得到了什么?
下次我想写一篇含有x个单词的博客文章时,机器可以应用它找到的关系f,告诉我可以期望人们实际读多少个单词,y。
所以, 一个神经网络是…
如果神经元是一个函数,那么神经网络就是一个函数网络!这意味着我们有许多(特别多)这样的函数,这样的学习单元,它们的所有输入和输出都是相互交织的,它们相互供给。
作为这个网络的设计者,我的工作是回答以下几个问题:
-
我如何为输入和输出建模?(例如,如果输入的是文本,我可以用字母建模吗?数字?向量? ....)
-
每个神经元的功能是什么?(他们是线性的吗?指数?…)
-
神经网络的架构是什么?(也就是说,哪个函数的输出是哪个函数的输入?)
-
我能用什么流行语来描述我的关系网?
一旦我回答了这些问题,我就可以“展示”神经网络许多(特别多)正确输入和输出的示例,希望当我“展示”一个它从未见过的新输入示例时,它将知道如何给出正确的输出。
这个学习过程是如何工作的超出了本文的范围,但如果你想要了解更多信息,可以看这个。你也可以去这个超级酷的神经网络游乐场,更好地理解这些概念。
神经网络——永无止境的故事
随着这个领域的爆炸式发展,每分钟都有大量的新(和高质量的)内容涌现出来,任何人都不可能全部关注。(我的天哪,你认为将来会有一天,人类能够制造出一种能够跟踪人类在人工智能领域进步的人工智能吗??)
进入这个领域,首先要知道的是没有人知道一切。所以,不管你处在什么阶段都不要紧张,保持好奇心:)
因此,我希望在这篇文章的最后几句话是一些我个人最喜欢的参考资源:
-
Gal Yona - 在该领域我最喜欢的博主之一. 她既写硬核的技术解释,也写半哲学的评论。
-
Siraj Raval - 一个拥有大量视频的youtuber,从理论解释到手把手教学,全都超级有趣!
-
Christopher Olah - 一个充满激情和洞察力的研究人员,有一个视觉上吸引人的博客,从基本概念到深入知识的帖子都有。
-
Towards Data Science 是该领域最大的媒体出版物,我喜欢的是它的编辑都是优秀的领头人。当你有几分钟/几个小时空闲的时候,只要去他们的主页,开始探索一切,从实用 工具 到深入的算法内容。
感谢 Hagar Shilo, Adi Polak, Noa Raindel, Yudit Sharabi, Batel Mankovsky。
想要继续查看该篇文章相关链接和参考文献? 雷锋网 (公众号:雷锋网) 雷锋网雷锋网
长按链接点击打开或点击【 小白必看:神经网络入门指南 】:
https://ai.yanxishe.com/page/TextTranslation/1303
AI研习社每日更新精彩内容,观看更多精彩内容:
用 Python 实现遗传算法
如何将深度学习应用于无人机图像的目标检测
机器学习和深度学习大PK!昆虫分类谁更强?
Python高级技巧:用一行代码减少一半内存占用
等你来译:
五个很厉害的 CNN 架构
如何在神经NLP处理中引用语义结构
特朗普都被玩坏了,用一张照片就能做出惟妙惟肖的 Memoji
让神经网络说“我不知道”——用Pyro/PyTorch实现贝叶斯神经网络
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++ 程序设计语言(特别版)(英文影印版)
[美] Bjarne Stroustrup / 高等教育出版社 / 2001-8-1 / 55.00
《C++程序设计语言》(特别版)(影印版)作者是C++的发明人,对C++语言有着全面、深入的理解,因此他强调应将语言作为设计与编程的工具,而不仅仅是语言本身,强调只有对语言功能有了深入了解之后才能真正掌握它。《C++程序设计语言》编写的目的就是帮助读者了解C++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。一起来看看 《C++ 程序设计语言(特别版)(英文影印版)》 这本书的介绍吧!