昨晚在新街口那家24小时便利店里坐了四个小时,冰美式续到第三杯的时候,笔记本电脑右下角的进度条终于爬到了100%。跑的是个给本地餐饮商家做菜单自动识别的小模型,之前连续三天跑出来的结果全是乱码,把”皮肚面”识别成”皮而面”就算了,还能把”鸭血粉丝汤”认成”鸭占思汤”。当时我盯着屏幕差点把刚咬了一口的茶叶蛋掉键盘上。
你以为的深度学习,和它实际干的事根本不是一回事
很多人第一次听深度学习,第一反应是”哦,就是AI呗,能自己思考的那种?”不对,完全不是。我刚接触的时候也被这种说法忽悠过,花了半个月啃那种满是公式的教材,啃到最后发现,哦,合着这东西根本没有”思考”这回事?它就是个被喂了无数数据的超级计算器?
你教小孩认猫,会跟他说”猫有尖耳朵,有尾巴,会喵喵叫”,小孩见一两次就能大概认出来。但深度学习不是这么学的。你得给它喂至少十万张标好了”这是猫””这不是猫”的图,它自己在里面找规律:哦,有尖耳朵的,有毛的,脸圆的,大概率是猫。它根本不知道”猫”是什么东西,它只是在统计这些特征出现的概率。它从来没有”理解”过输入的内容,只是在做概率层面的拟合。

之前我帮朋友做过一个识别流浪猫投喂点的小项目,一开始我们只喂了白天拍的猫的照片,结果模型一到晚上就把路边的石墩子全当成了猫。离谱。真的离谱。我们后来补了两百多张晚上拍的、路灯下的猫的照片,甚至还有把猫裹在快递盒里只露个脑袋的照片,模型才终于不把石墩子当猫了。
我在南京踩过的那些深度学习大坑
去年在南大旁边的创客空间跟几个朋友捣鼓梧桐絮识别的小工具,想做个能自动预报哪天梧桐絮飘得最凶的小程序。一开始我们想得特别简单,就去路上拍了几百张梧桐絮的照片,标好”有絮””没絮”,扔进去跑模型。
结果跑出来的结果给我们整懵了:模型说只要路边有穿黄色衣服的人,就是梧桐絮飘得凶的日子。哦对,南京春天扫梧桐絮的环卫工人,全穿的明黄色工作服。我们当时在创客空间笑到拍桌子,隔壁做硬件的大哥都过来问我们是不是中彩票了。
后来我们才反应过来,我们拍的所有飘絮的照片里,几乎都有环卫工人在扫絮,模型根本没学会识别梧桐絮,它学会的是”找黄衣服的人”。这就是很多新手都会踩的坑:你以为你教给模型的是A,其实它在背后偷偷学了B,还学得特别认真。

还有个坑我到现在还在踩。就是很多人说”只要数据够多,模型就能准到离谱”。不对。真的不对。我之前做菜单识别的时候,喂了两千多张不同店的菜单照片,结果模型一碰到手写的菜单,直接歇菜。后来才知道,我们喂的全是打印的菜单,手写的样本只占了不到5%,相当于你让一个只吃过甜口皮肚面的人去认老鸭汤面,他当然认不出来。
别被网上的神化内容骗了,深度学习现在还很”笨”
刷短视频的时候总能刷到那种”深度学习即将替代所有白领””AI马上就要统治世界”的鬼话,我每次看到都想给评论区留一句”你先让它准确认出你家猫再说”。
说实话,现在的深度学习,本质上就是个记性特别好、但完全不懂变通的学生。你给它喂什么,它就学什么,喂的东西偏了,它就学歪了。你让它写文案,它能把网上所有同类的文案拼起来,看起来特别顺,但你仔细读,全是没有灵魂的套话。你让它算数学题,只要是见过的题型它就能算得飞快,稍微变个题型,它就给你瞎编答案。
不过话说回来,笨归笨,它干的活还真的挺有用的。你平时刷短视频,刷到停不下来的那些内容,背后就是深度学习在给你推你可能喜欢的东西。你用手机拍文档,自动把歪歪扭扭的字转成可编辑的文字,也是深度学习在跑。甚至你点外卖的时候,给你推荐的那家离你近、评价好的皮肚面店,背后也有深度学习的功劳。
之前有人问我,”我又不做算法,了解深度学习有啥用?”其实真的不是让你去写代码跑模型。你只要知道这东西是怎么回事,就不会被网上的各种AI噱头骗到。比如有人跟你说”我们的AI能精准预测高考分数线”,你就知道,这东西要是真能准,他自己早就去报志愿赚大钱了,还出来卖课?
昨晚便利店的店员已经认识我了,给我递冰美式的时候问我”你这电脑里的东西,就是之前说的那个AI啊?”我咬了一口茶叶蛋,嗯了一声。它没那么神。它就是我熬了好几个夜,调了几十次参数,喂了几百张照片,才终于能认出”皮肚面”三个字的笨家伙而已。
作者|科技
排版|科技
审核|满满