神经网络的菜鸟入门秘籍

标签: 神经网络 菜鸟 秘籍 | 发表时间:2018-12-19 18:27 | 作者:大数据文摘
出处:https://www.jiqizhixin.com/

在过去几年中,如果你打开过浏览器,那么你肯定看到过几百回“神经网络”这个词。

在这篇短文中,我将为你初步介绍这一领域和神经网络本身的背景信息。接下来的5分钟可能不会让你迅速成为这个领域的世界级专家,但让你经历一个意义非凡的入门阶段却是很简单的。另外,你还将学习到一些流行术语(尤其是按文后的清单做进一步阅读),这可以成为你茶余饭后的谈资。

什么是机器学习

要理解神经网络,我们首先需要懂机器学习。而为了理解机器学习,我们就得先谈谈人类学习,或者“经典编程”。

在经典编程中,我,也就是开发人员,需要弄明白我正在试图解决的问题的各个方面,并确切地知道怎样找到解决方案。

例如,假设我希望我的程序知道正方形和圆形之间的区别。解决这个问题的其中一种方法是编写一个可以检测边角的程序。如果我的程序检测到4个角,那么这个形状是一个正方形,如果它检测不到任何角,那么这个形状就是一个圆。

那么机器学习又是啥?一般来说,机器学习=从例子中学习。

机器学习中,当面对上文区分圆和正方形的问题时,我们将设计一个学习系统,将许多形状及其类别(正方形或圆形)的例子作为输入,从而希望机器能够自己学习可以用来区分形状的特征。

然后,一旦机器学会了所有的特征,我们就可以给它一个以前没出现过的图像,并且希望它能够正确地对其进行分类。

什么是神经元

神经网络的背景下,神经元是一个奇妙的名词,“聪明”的人不愿用函数(function)这个朴素名字。当然,在数学和计算机科学的背景下,函数(function)也是一个奇妙的名称,它接收输入,实现处理逻辑并输出结果。

更重要的是,神经元可以被认为是一个学习单元。

因此,我们需要在机器学习的背景下理解什么是学习单元。之后我们就可以理解神经网络最基本的构造,即神经元

为了阐述这个问题,假设我试图理解博客文章中单词数量与人们实际从该帖子中读到的单词数量之间的关系。请注意 - 我们是在机器学习领域做这件事,因此我们要从例子中学习。

所以我在博客文章中收集了许多单词数统计的实例,用x表示,以及人们在这些帖子中实际阅读了多少单词,用y表示,我假设它们之间存在一定关系,用f表示。

这件事情的神奇之处在于,我只需要告诉机器(程序)我期望看到的关系(例如直线)大概是怎样的,机器就会明白它需要绘制的实际图形。

那我在这里又得到了什么?

下一次,我想要写一篇有x个单词的博客文章,机器可以运用它发现的关系f来告诉我,我可以预期人们实际阅读的单词数量,y。

所以,神经网络是......

好,如果一个神经元是一个函数,那么神经网络就是一个函数网络!这意味着我们有许多(很多)这样的函数和这样的学习单元,它们的所有输入和输出是相互交织的,就是说他们互为输入输出。

作为这个网络的设计者,我需要回答以下问题:

  • 如何为输入和输出建模?(例如,如果输入是一些文本,我可以用字母建模吗?那数字和向量呢?...。)

  • 每个神经元有哪些功能?(它们是线性的吗?还是指数型的?...)

  • 网络的架构是什么?(也就是说,哪个函数的输出是哪个函数的输入?)

  • 我可以用哪些流行术语描述我的网络?

一旦我回答了这些问题,我就可以向我的网络“展示”许多正确的输入输出的例子,这样当我“展示”给它一个它以前从未见过的新示例输入时,它就会知道正确的输出。

你也可以访问神经网络游乐场这个超级酷的网站,从而更好地理解这个过程意味着什么。

神经网络游乐场:https://playground.tensorflow.org/

神经网络 - 永无止境的故事

由于这个领域实际上在不断膨胀,每分钟出现的新内容的数量对任何人来说都是不可能跟踪的。(不知道会不会有朝一日我们能够建立一个能够追踪人类在AI领域进步的AI)

进入这个领域,首先要知道的是没有人知道一切。所以你不用担心自己不如他人,只要保持好奇心就好了。:)

因此,推荐一些比较优秀的资源:

Gal Yona,在这个领域非常棒的博主之一。她的帖子包括从核心技术的解释到半哲学的评论。

核心技术的解释:https://towardsdatascience.com/do-gans-really-model-the-true-data-distribution-or-are-they-just-cleverly-fooling-us-d08df69f25eb

到半哲学的评论:https://towardsdatascience.com/the-tale-of-1001-black-boxes-62d12b5886aa

Siraj Raval 是一个拥有大量视频的油管博主(youtuber),从理论解释到动手教程都非常有趣!

理论解释:https://www.youtube.com/watch?v=xRJCOz3AfYY

动手教程:https://www.youtube.com/watch?v=pY9EwZ02sXU

Christopher Olah,一位充满激情和洞察力的研究员,拥有一个超炫的博客,其中包括从基本概念到深度学习的帖子。

从基本概念:http://colah.github.io/posts/2015-09-Visual-Information/

深度学习https://distill.pub/2017/feature-visualization/

《走向数据科学》是这个领域最大的中型出版物,无论你有几分钟或几小时的时间,都可以去他们的主页开始探索一切,从实用工具到深度算法应有尽有。

走向数据科学https://towardsdatascience.com/

相关报道:https://medium.freecodecamp.org/neural-networks-for-dummies-a-quick-intro-to-this-fascinating-field-795b1705104a

相关 [神经网络 菜鸟 秘籍] 推荐:

神经网络的菜鸟入门秘籍

- - 机器之心
在过去几年中,如果你打开过浏览器,那么你肯定看到过几百回“神经网络”这个词. 在这篇短文中,我将为你初步介绍这一领域和神经网络本身的背景信息. 接下来的5分钟可能不会让你迅速成为这个领域的世界级专家,但让你经历一个意义非凡的入门阶段却是很简单的. 另外,你还将学习到一些流行术语(尤其是按文后的清单做进一步阅读),这可以成为你茶余饭后的谈资.

轻量的神经网络

- - Just for Life.
很久之前我觉得移动端应用几百兆的模型不切实际,在不考虑蒸馏、量化等压缩方法下,发现了 MobileNet 设计的很神奇,大小只有几 MB,可以说是一股清流了. 就整理发布了一下,然后今天发现找不到了,神奇. (于是顺手和 ShuffleNet 一并整理到轻量化的神经网络中). 基本上可以说这个版本是后面几个版本的出发点.

BP神经网络的Java实现

- - ITeye博客
课程作业要求实现一个BPNN. 此前只用Matlab实现过,这次尝试使用Java实现了一个. 关于BPNN的原理,就不赘述了.  为了验证正确性,我写了一个测试用例,目的是对于任意的整数(int型),BPNN在经过训练之后,能够准确地判断出它是奇数还是偶数,正数还是负数. System.out.println("训练完毕,下面请输入一个任意数字,神经网络将自动判断它是正数还是复数,奇数还是偶数.

神经网络与用户行为

- - 博客园_新闻
英文原文: Neurology & User Behavior: What We Know. 流量和转化率是我们衡量一个网站是否成功的两个重要指标. 网站转化率就是指用户进行了相应目标行动的访问次数(成交人数)与总访问次数的比率. 这里所指的相应的行动可以是用户登录、用户注册、用户订阅、用户下载、用户购买等一些列用户行为,因此网站转化率是一个广义的概念.

[译] 调试神经网络的清单

- - IT瘾-dev
训练深度学习模型是非常耗时的工作,没有什么比花费了好几天训练而最终结果效果不佳更让人沮丧的了. 因此翻译了这篇文章: Checklist for debugging neural networks,希望能给你一点启发,尽早发现模型中的问题. 原文地址:https://towardsdatascience.com/checklist-for-debugging-neural-networks-d8b2a9434f21 ,略有删减.

研究人员首次用DNA构造人工神经网络

- Robi - Solidot
加州理工研究人员首次用DNA构造出人工神经网络,类似一个简化的大脑. 此前他们曾研制过一个能计算平方根的DNA逻辑门. 研究人员112种不同的DNA链组成四个相互联系的人工神经元,它会玩一个猜心术的游戏. 研究人员和这个试管中的神经网络玩了27次游戏,每次提供的线索都不相同,而它每次都猜对了. 研究人员表示,具有人工智能的生化系统,可以在医药,化学以及生物领域带来不可估量的应用.

自组织增量学习神经网络-SOINN

- 金文 - 丕子
自组织增量学习神经网络(Self-organizing incremental neural network, SOINN)实现包括学习、记忆、联想、推理、常识等方面的研究,最终目的是实现能够模拟人类大脑的供智能机械使用的通用型智能信息处理系统——人工脑. a. 基于SOINN的监督学习、非监督学习、半监督学习算法研究.

动态神经网络工具包DyNet:比Theano和TensorFlow更快

- - IT瘾-tuicool
近日,来自卡内基梅隆大学、日本奈良先端科学技术大学、Google DeepMind、以色列巴伊兰大学、艾伦人工智能研究所、IBM T.J. Watson 研究中心、澳大利亚墨尔本大学、约翰·霍普金斯大学、谷歌、华盛顿大学、微软和英国爱丁堡大学的研究者共同发表了一篇重磅论文《DyNet: The Dynamic Neural Network Toolkit》,正式介绍了动态神经网络工具包 DyNet;该工具包也已在 GitHub 上开源:http://github.com/clab/dynet.

用神经网络训练一个文本分类器

- - 文章 – 伯乐在线
理解聊天机器人的工作原理是非常重要的. 聊天机器人内部一个非常重要的组件就是文本分类器. 我们看一下文本分类器的神经网络(ANN)的内部工作原理. 我们将会使用2层网络(1个隐层)和一个“词包”的方法来组织我们的训练数据. 文本分类有3个特点:模式匹配、算法、神经网络. 虽然使用多项朴素贝叶斯算法的方法非常有效,但是它有3个致命的缺陷:.

用paddle实现一个CNN神经网络

- - 非技术 - ITeye博客
问题:实现在MNIST数据集上,对数字的识别. (1)输入:MNIST手写的数字图片,它是一个28*28的二维图片,为了计算,我们将其转为784维的一个向量. (2)输出:分类器的输出是0-9的数字的概率. (3)分类器的设计:5层的卷积神经网络. 即:conv->pool->conv->pool->FC->softmax.