什么是人工智能?
有一个简单的定义是这样的:努力将通常由人类完成的智力任务自动化。在相当长的时间里,人们相信,只要编写足够多的明确的规则来处理知识,就可以实现与人类水平相当的人工智能。这一方法称为符号主义人工智能。
通过这段话我们不难发现,当时人们对人工智能的理解差不多就是,哎我把规则定一定,把规则写的清晰明了,然后我们把东西给计算机,直接让它按照规则去处理,然后就能得到我们想要的,虽然像国际象棋这种规则明确的机制利用符号主义人工智能去解决很适用,但是细想一下我们所处的世界,好像规则有时候并没有那么明确吧?各种事物也不是独立的个体,很多时候事物之间的界限是比较模糊的,符号主义人工智能也难以给出明确的规则去解释比较复杂、模糊的问题。举个例子来说,有一张你的照片,你该怎么定义规则,让计算机识别出来是你?万一你哪天在路上摔了一跤,头上摔了个大包,那它还能不能识别出来呢?所以这个时候就出现了一种新的方法来代替符号主义人工智能,这个就是机器学习。
什么是机器学习?
我们在想,如果没有精心编写的数据处理规则,计算机能不能通过观察数据自动学会这些规则?等等诸如此类的问题引出了一种新的编程范式。就是我们输入的是数据和从这些数据中预期得到的答案系统输出的是规则,然后这些规则随后可应用于新的数据,再令计算机自主生成答案。和传统意义的人工智能的区别如下图:
我们可以看到,经典的程序设计(符号主义人工智能)就输入规则和数据然后给出答案,机器学习则是给出(1)数据和(2)示例答案,然后输出规则。这里其实就很厉害了,假如说我想装修房子,市场上有各种各样的材料装饰,还有装修后的样式示例,那我把这些输入进去,用机器学习去输出一些装饰的搭配规则什么的,然后再根据自己的喜好选择一些材料装饰,就能输出最后的装修方案。
这里面我们就不必定义规则,让它自己根据数据去寻找规则。其实也不必输出规则,等它找到规则之后,直接输入新的数据,然后输出答案就行,中间那一步可以当作一个黑箱子,我们只要输入数据,输入答案,再输入数据,让程序输出答案。
所以小伙伴们可能就注意到了,机器学习系统是训练出来的,而非明确的用程序编写出来的。机器学习还有一个重要的东西,刚刚我们只是说了输入数据和答案,让它寻找规则,然后再输入新数据,再由计算机输入答案,那小伙伴们有没有想过,这个答案就一定对嘛?这个答案有没有可能会和正确的答案之间有一定的偏差?此时,我们就需要有(3)衡量算法效果好坏的方法,这一衡量方法是为了计算算法的当前输出与预期输出的差距。 衡量结果是一种反馈信号,用于调节算法的工作方式。这个调节步骤就是我们所说的学习。有了这个步骤,机器学习在寻找规则时才能找到适合于示例答案的规则。
ok,这个先到这里嘞,内容全部来源于《Python深度学习》这本书,我只是用大白话说了一下,小伙伴们注意甄别~