跟着弦哥学人工智能2—HAND-CRAFTED RULES实现的人工智能及其缺陷
隔壁有个妹纸喷我,好高兴....给她回复了下
哎呀,没想到是个妹纸,其实我就随便那么一说,没合计妹纸还专门写个檄文声讨我,受宠若惊
其实你的评论一看就比较专业,所以我就去你博客大概扫了一眼,发现个大问题,感觉就是一基层技术人员,所以就没当回事...
包括你写的这个三月的学习思路,基本还是按码农那个路子来的,一上来就要撸起袖子敲代码。
机器学习我肯定是门都没入啦,但要说如何从码农做到架构师做到技术总监,这方面我觉得肯定比你有经验。
我想我俩的水平肯定都不是搞学术,而是搞应用级技术本质上并没有比传统信息系统技术栈复杂多少,长多少,我可以说在传统信息系统中弦哥这样的老程序员掌握的编程思想、编程哲学、架构设计、解决方案选型这方面肯定要甩你几条街的。这些难题同样会在机器学习应用级技术领域出现,也决定了你能走多远。
我想你还年轻,你没见过也不会去想一个程序员的瓶颈,我年纪大点,也带了很多年团队,见过很多在这个瓶颈上痛苦徘徊迷茫的程序员,原因是啥?就是因为你的这种学习思路和方法。
当然年轻人不服就干的精神是非常非常可贵的,支持你这个系列,一起学习,另外也别给自己太大压力哟。
今天我们的学习目标是,搞清楚hand-crafted rules实现人工智能的方式及其缺陷,以及如何识别江湖骗子。
上篇我们讲到在machine learning之前基本都是靠hand-crafted rules去实现所谓人工智能。这部分太简单,一般教科书都是以“我们都知道...”一笔带过,这无疑给不知道的同学带来一记重拳!这篇我们通过两个例子去讲。
弦哥养了个狗子叫二丫,刚领回家的一段时间,只要二狗子撒尿,我就会喊“尿!”,像精神病似的喊了一个月,二狗子建立起了简单的逆向条件反射。
if(有人喊尿)
就蹲下撒尿
一天去遛狗,对面迎来两个妹纸,弦哥大吼一声:“尿!”,二狗子立马蹲下就尿。其中的那个萌妹子:“哇!好聪明的狗狗!”(*萌妹子以为二狗子能听懂指令,感觉狗子具备智能。),另外一个妹纸是机器学习专业的,不以为然,学着弦哥的样子也吼了一声:“尿!”,二狗子立马又蹲下,然而由于刚尿完,所以只能做着蹲的姿势并没有尿,场面比较尴尬...(*如果是小孩就会真正理解尿这个指令的含义,这时候他会说:”daddy,我没有尿!“,而不会把裤子脱了。),这时候机器学习专业妹纸又得意的吼了一声:”不准尿!“,倒霉的二狗子又蹲下了,姿势显得更加猥琐,不解的看着我们...(*所谓的一些智能声控灯也有这个问题,你喊:”不要关灯!“,他也会把灯给你关了。)。我原本打算继续给萌妹子表演狗子拉屎、狗子拜年、狗子打滚、狗子做加法,让妹纸觉得狗子具备小孩的智商,(*这些都可以通过简单的if语句实现,组合起来会让机器看起来更具备智能。)但由于有行家在,只能悻悻的牵着笨狗子走了,搭讪失败!
图为弦哥家只会hand-crafted rules的笨狗子
小结:hand-crafted rules实现的人工智能,其本质就是通过许多if判断语句去实现,然而并不能完成比较复杂的任务,由于需要编写大量的if语句,工作量非常大不说还会经常出现一些可笑的错误,早期的一些所谓智能聊天机器人,基本都是用这种技术。
第二个例子,弦哥在东北混,对喊麦十分在行,如果我说,能编写一个叫“社会你弦哥”的智能说唱喊麦机器人,你随便说个五言绝句,“社会你弦哥”就能喊麦唱出来,你信不信?。伪代码如下:
将输入的一首五言诗分成4句;
在每句的第二个字后面随机加上“我、他、那、这”的其中任意一个字;
最后按“咚次哒次”的节奏加重音读出来;
我们运行下这段程序试试,老师来音乐!大家的手举起来嗨~
锄禾我日当午!
汗滴他禾下土!
谁知这盘中餐!
粒粒他艰辛苦!
再来一个, 接着嗨~
离离那原上草!
一岁他一枯荣!
野火我烧不尽!
春风这吹又生!
据说有媒体采访一位专业的音乐评论家,让他谈谈对“MC天佑”喊麦的看法,他只说了一句“请尊重我的专业..."。
小结:基本的hand-crafted rules加上一些其他专业领域的基础知识,就被很多人用来忽悠是人工智能。
这个结论不是我说的,一个国内业界小有名气的朋友私下告诉弦哥,目前人工智能领域市场估值很高,很多创业公司为了骗投资人和政府支持,搞的所谓人工智能产品就是这些东西。
国外也一样,业界知名大牛尼古拉斯·赵四(*没听清名字)在facebook上发过一副漫画,说的也是这个事。
图片来源:台大电机系李宏毅教授机器学习讲义截图
谈个我并不是要说明IT圈比娱乐圈还乱,也不是不尊重业内的老师,毕竟我也搞过什么大数据主动服务之类的玩意,大家都混口饭吃不容易。只是想再次勉励同学们,人工智能没有想象的那么难,不要被业内动辄清华北大斯坦福的title吓到,王健林都说了清华北大不如胆子大,哈哈。比如deep learning已经属于应用级技术,有很多开源项目支撑,可以不太准确的说paper级别的理论咱们也用不到,且在商业应用领域意义也不大。
当然这个系列会越来越难,遇到困难的时候,同学们要有信心、耐心和坚持!
跟着弦哥学人工智能2—HAND-CRAFTED RULES实现的人工智能及其缺陷的更多相关文章
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- 跟着鸟哥学Linux系列笔记2-第10章VIM学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...
- 跟着鸟哥学Linux系列笔记0-如何解决问题
跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1. 在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- 跟着鬼哥学so改动,一,准备篇
图/文 听鬼哥说故事 闲话少说,so的改动,重要性大家都知道,这里从头编写so文件,分析so文件,改动so文件,打算做一个系列的教程,当然,主要是看时间同意. android的sdk配置以及ndk环境 ...
- 跟着鬼哥学so改动,二,进行篇
图/文 听鬼哥说故事 继续上文的内容---------------------------------- 0x1:測试文件的编写 经过上一篇文章的基础学习,如今我们開始进行是用的部分. 既然我们能够 ...
- 跟着刚哥学Redis
NoSQL 简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL".是对不同于传统的关系型数据库的数据库管理系统的统称.它泛指非关系型的数据库.随着 ...
- 跟着鸟哥学Linux系列笔记0-扫盲之概念
相关缩写全称: POSIX(Portable Operation System Interface):可携式操作系统接口,重点在于规范内核与应用之间的接口,由IEEE定义发布 IEEE: 美国电气与电 ...
- 跟着马哥学python-day02
1. 运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 1.1 算数运算 以下假设变量:a=10,b= ...
随机推荐
- 201521123110 《Java程序设计》第9周学习总结
1. 本周学习总结 2. 书面作业 1.常用异常 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 原来编写代码经常会出现数组访问 ...
- MD格式示例
一个例子: 例子开始 1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一 ...
- Java:参数数量可变的方法
许多Java新人在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊? [java] view plaincopy public class TestVarArgu ...
- 在windows下安装flex和bison
学习Stellar-core 需要依赖项flex .bison .gcc三个依赖项 下载得网址:链接: https://pan.baidu.com/s/1mitCLcs 密码: 3jaj 通过 w ...
- node.js的安装及配置
一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(6 ...
- Shiro第三篇【授权、自定义reaml授权】
Shiro授权 上一篇我们已经讲解了Shiro的认证相关的知识了,现在我们来弄Shiro的授权 Shiro授权的流程和认证的流程其实是差不多的: Shiro支持的授权方式 Shiro支持的授权方式有三 ...
- 中文转unicode,中文转bytes,unicode转bytes java实现
utf-8 utf-8格式的中文由三位字节组成. UTF-8的编码规则很简单,只有二条: 1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码.因此对于英语字母,UTF-8编 ...
- 复选框demo
本篇文章是关于复选框的,有2种形式:1.全选.反选由2个按钮实现:2.全选.反选由一个按钮实现. <!DOCTYPE html> <html> <head> < ...
- JavaScript new Boolean(false) 其实是true
Boolean类型是JavaScript原始数据类型(primitive type)之一:常用来表示 真或假,是或否:这个类型只有两个值:保留字true和false 一般用于控制语句:如下 if(Bo ...
- crontab的两大坑:百分号和环境变量
今天想给服务器加个自动备份mysql数据库的功能(别怪我这么久才加,阿里云每天全盘备份的,不怕丢数据库),本以为只要5分钟就能搞定的,结果入了两个大坑. 我的crontab是这样写的: * * * m ...