跟着弦哥学人工智能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= ...
随机推荐
- shell脚本命令,一些你在书上找不到的命令。
1.!$<!$是一个特殊的环境变量,它代表了上一个命令的最后一个字符串.如:你可能会这样: $mkdir mydir$mv mydir yourdir$cd yourdir 可以改成: $mkd ...
- 监听器第一篇【基本概念、Servlet各个监听器】
什么是监听器 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. 为什么我们要使用监听器 ...
- Python-老男孩-01_基础_文件IO_函数_yield_三元_常用内置函数_反射_random_md5_序列化_正则表达式_time
Python2.7 缩进统一: 约定 常量 大写 , 变量 小写 判断一个变量在内存中的地址,也能看出是不是一个值 id()函数 >>> x = 'abc' >>&g ...
- Java Sftp上传下载文件
需要使用jar包 jsch-0.1.50.jar sftp上传下载实现类 package com.bstek.transit.sftp; import java.io.File; import ja ...
- java基本类型与Hadoop常见基本类型的对照
Long LongWritable Integer IntWritable Boolean BooleanWritable String Text 1.java类型转化为hadoop基本类型 调用ha ...
- GCD之after
先介绍下C中的modf函数 函数名:modf 头文件:<math.h> 函数原型:double modf(double x, double *ipart) 函数用途:分解x,以得到x的整数 ...
- AngularJS–service(服务)
点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ 服务 Angular的服务也是使用依赖注入(dependency injection ( ...
- 一步一步带你做WebApi迁移ASP.NET Core2.0
随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...
- 第一个ExtJS练习(添加用户面板)
1.[准备] 我是在visual studio里面建立了一个asp.net MVC项目,然后导入ExtJS必要的包,然后写的. ExtJS5.1版本下载:https://pan.baidu.com/s ...
- C "right-left" 从左到右
葵花宝典:http://ieng9.ucsd.edu/~cs30x/rt_lt.rule.html C混带代码大赛