傻瓜神经网络:这个引人入胜的领域的快速入门

Have you ever wondered what are all these neural networks that everyone is talking about, and were too afraid to ask? Well, fear no more! By the end of this post you’ll be able to walk into any conference and dazzle the lunch table with your newly acquired buzzwords!

您是否曾经想过每个人都在谈论并且都不敢问的所有这些神经网络? 好吧,别再害怕了! 在这篇文章的结尾,您将能够参加任何会议,并用您新获得的流行语使午餐餐桌上的眼花!乱!

If you’ve opened your browser in the last couple of years, you must have seen the expression “Neural Networks” a couple ( hundred) times.

如果您在最近几年中打开了浏览器,那么您一定已经看过“神经网络”一词两次(一百次)。

In this short read, I will give you some context on the domain and on the thing itself. You won’t become the world’s expert in the field in the next 5 minutes, but you will get through the non-trivial onboarding stage. You will also learn some buzzwords to impress the family at the dinner table, especially if you follow the reading list at the end.

在这篇简短的阅读文章中,我将为您提供有关领域和事物本身的上下文。 在接下来的5分钟内,您将不会成为该领域的全球专家,但您将进入非平凡的入门阶段。 您还将学到一些流行语,在餐桌上给家人留下深刻的印象,特别是如果您遵循最后的阅读清单。

什么是机器学习? (What is Machine Learning?)

To understand Neural Networks, we first need to understand Machine Learning. And to understand Machine Learning, let’s talk about Human Learning first, or “classical programming”.

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

In classical programming, I, the developer, need to understand the aspects of the problem I am trying to solve, and to know exactly what all the rules are to make it to the solution.

在经典编程中,我(开发人员)需要了解我要解决的问题的各个方面,并确切地知道将其应用于解决方案的所有规则。

For example, let’s say I want my program to know the difference between a square and a circle. Then one way to handle it is to write a program that can detect corners, and then apply it to count the corners. If my program sees 4 corners, then this shape is a square, and if it sees no corners, then this shape is a circle.

例如,假设我希望我的程序知道正方形和圆形之间的差异。 然后,处理该问题的一种方法是编写一个可以检测到拐角的程序,然后将其应用于计数拐角。 如果我的程序看到4个角,则此形状为正方形,如果看不到角,则此形状为圆形。

And Machine Learning? Very generally speaking, Machine Learning = learning from examples.

和机器学习? 一般来说,机器学习=从示例中学习。

In Machine Learning, when facing the exact same problem of telling apart circles and squares, we would design a learning system that would take as input many examples of shapes and their class (square or circle). We would hope that the machine would learn by itself the properties that tell them apart.

在机器学习中,当面临将圆和正方形区分开的完全相同的问题时,我们将设计一个学习系统 ,该系统将许多形状及其类别(正方形或圆形)的示例作为输入。 我们希望机器能够自己学习将它们区分开的属性。

And then, my friends, once the machine has learned all these properties, I can give it a new image of a circle or a square, one it hasn’t seen before, and it will hopefully classify it correctly.

然后,我的朋友们,一旦机器学习了所有这些属性,就可以给它一个新的圆形或正方形图像, 这是以前从未见过的 ,并且有望对它进行正确的分类。

什么是神经元? (What is a Neuron?)

A neuron, in the context of Neural Networks, is a fancy name that smart-alecky people use when they are too fancy to say function. A function, in the context of mathematics and computer science, is a fancy name for something that takes some input, applies some logic, and outputs the result.

在神经网络的背景下,神经元是一个聪明的名字,聪明的人在他们太想不起功能时会用它 。 在数学和计算机科学的上下文中, 函数是花哨的名称,表示需要某种输入,应用某种逻辑并输出结果的事物。

More to the point, a neuron can be thought of as one learning unit.

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

Therefore, we need to understand what is a learning unit, in the context of Machine Learning. Then we will also understand the most basic building block of a Neural Network, which is the neuron.

因此,我们需要在机器学习的背景下理解什么是学习单元 。 然后,我们还将了解神经网络的最基本构造块 ,即神经元。

To illustrate, let’s say I am trying to understand the relationship between the number of words in a blog post, and the number of words people actually read from that blog post. Remember - we are in the Machine Learning domain, where we learn from examples.

为了说明这一点,假设我试图理解博客文章中的单词数与人们实际从该博客文章中阅读的单词数之间的关系。 记住-我们属于机器学习领域,我们从例子中学习。

So I collect many examples of word count in blog posts, denoted by x, and how many words people actually read in those posts, y, and I imagine there is some relationship between them, denoted by f.

因此,我收集了许多博客帖子中用x表示的单词计数示例,以及人们在这些帖子中实际阅读的单词y ,并且我想它们之间存在某种关系,用f表示。

However, the trick is, that I just need to tell the machine (the program) sort of what is the relationship I expect to see (for example a straight line), and the machine will understand the actual line it needs to draw.

但是,诀窍是,我只需要告诉机器(程序) 某种我希望看到的关系(例如一条直线),机器就会了解它需要绘制的实际线条。

What did I gain here?

我在这里获得了什么?

Next time I want to write a blog post that has x words in it, the machine can apply the relationship f it found, and tell me how many words I can expect people to actually read, y.

下次我想写一篇博客文章,其中包含x个单词时,机器可以应用找到的关系f ,并告诉我可以期望人们实际阅读的单词y

因此,神经网络是…… (So, a Neural Network is…)

Well, if a neuron is a function, then a Neural Network is a network of functions! Meaning we have many (many many) such functions, such learning units, and all their inputs and outputs are intertwined and they feed each other.

好吧,如果神经元是一种功能,那么神经网络就是功能的网络! 意味着我们有许多这样的功能(如学习单元) ,它们的所有输入和输出是交织在一起的,并且相互促进。

As the designer of this network, it is my job to answer some questions:

作为该网络的设计师,我的工作是回答一些问题:

  • How do I model the inputs and outputs? (for example, if the input is some text, can I model it in letters? numbers? vectors?….)

    如何对输入输出建模? (例如,如果输入是一些文本,我可以用字母, 数字, 向量或 …来建模)。

  • What are the functions in each neuron? (are they linear? exponential?…)

    每个神经元的功能是什么? (它们是线性的吗? 指数的吗?...)

  • What is the architecture of the network? (that is, which function’s output is which function’s input?)

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

  • What are the buzzwords I can use to describe my network?

    什么是流行语 我可以用来形容我的网络吗?

Once I’ve answered these questions, I can “show” the network many (many many) examples of correct inputs and outputs, in the hope that when I “show” it a new example input it has never seen before, it will know to give the correct output.

回答完这些问题后,我可以“显示”网络中许多(很多)正确的输入和输出示例,希望当我“显示”它以前从未见过的新示例输入时,它将知道给出正确的输出。

How this learning process works is beyond the scope of this post, but to learn more you can watch this. You can also go to this insanely cool Neural Network Playground to get a better sense of what this means.

这种学习过程的工作方式超出了本文的范围,但是要了解更多信息,请观看此内容 。 您也可以访问这个疯狂的神经网络游乐场 ,以更好地了解其含义。

神经网络-永无止境的故事 (Neural Networks - The Never-ending Story)

As this field is literally exploding, the amount of new (and high quality!) content coming out every minute is impossible for any human to follow. (OMG do you think there will come a time when humans can build an AI that will be able to keep track of human advancements in the AI domain??)

由于这个领域的确在爆炸式增长,因此任何人都不可能每分钟都有大量的新内容(高质量!)出现。 (OMG,您认为人类会建立一个能够跟踪AI领域人类进步的AI的时代吗?)

Coming into this field, the first thing to know is that NOBODY knows everything. So feel comfortable where you are, and just keep being curious :)

进入这个领域,首先要知道的是NOBODY知道一切。 因此,无论您身在何处,都应保持舒适,并保持好奇心:)

Therefore, I want my last words in this post to be a reference to some of my personal favourite resources to learn from:

因此,我希望本博文中的遗言可以参考我个人最喜欢的一些资源,以供学习:

翻译自: https://www.freecodecamp.org/news/neural-networks-for-dummies-a-quick-intro-to-this-fascinating-field-795b1705104a/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值