跟着弦哥学人工智能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= ...
随机推荐
- Markdown 模板
一个例子: 例子开始 1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一 ...
- 巧用 BootStrap --- 栅格系统(布局)轻松搞定网页响应式布局!
摘要:Bootstrap 为我们提供了一套响应式.移动设备优先的流式栅格系统,合理的使用栅格系统将会使得网站页面布局变得更加简单,在设置了媒体查询之后,响应式网站也无需再单独写了.接下来我以Boots ...
- GSON速学必会
一. GSON 简介 GSON是一个用Java语言编写的用于处理JSON数据格式的开源应用程序编程接口项目.它将Java对象转换为JSON表示.还可以用于将JSON字符串转换为等效的Java对象. g ...
- 纳税服务系统【用户模块之使用POI导入excel、导出excel】
前言 再次回到我们的用户模块上,我们发现还有两个功能没有完成: 对于将网页中的数据导入或导出到excel文件中,我们是完全没有学习过的.但是呢,在Java中操作excel是相对常用的,因此也有组件供我 ...
- 鸟哥Linux学习笔记06
Linux 系统常用的压缩命令 1,*.Z compress程序压缩的文件,这个已经很老了,几乎不再使用,因此不再介绍. 2,gzip应用最广泛的压缩命令.目前gzip可以解开compress.zip ...
- JS控制台打印星星,总有你要的那一款~
用JS语句,在控制台中打印星星,你要的是哪一款呢~来认领吧~ 1.左直角星星 效果: 代码: let readline=require("readline-sync"); cons ...
- oc __weak和__strong的区别
1.先上代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 id __weak obj=[[NSObject alloc]init]; NSLog(@"弱引 ...
- PyTorch教程之Training a classifier
我们已经了解了如何定义神经网络,计算损失并对网络的权重进行更新. 接下来的问题就是: 一.What about data? 通常处理图像.文本.音频或视频数据时,可以使用标准的python包将数据加载 ...
- IIS 500错误或无法显示此网页解决方法
不知道是不是XP版本的原故,发现越来越多的XP系统装好IIS后连默认网站都打不开,(其他系统没有注意)出现几个大字,IIS 500错误.相信碰到这个问题的人都深有体会,确实很烦人.卸了IIS重装也是不 ...
- sqlserver常用sql语句,更改字段,建立唯一键,多个字段去重复等
--修改字段类型: --alter table 表名 alter column 待修改字段名 待修改字段类型 alter table users alter column userid varchar ...