# 总结

# 学习成本

从一个什么都不会的 AI 小白到了解熟悉并能简单使用 TensorFlow.js,学习加上查阅资料、尝试与调试等等大约需要 60H。当然前提是你得有基础的 js 基础和动手查阅资料的能力。

# 能力收获

  • 理解机器学习的工作原理

  • 能够掌握线性模型以及做简单的非线性模型测试

  • 理解了图像识别的算法原理

  • 能够训练、预训练、截断模型训练简单的图像识别、声音识别并自定义扩展

学习完成之后自己有能力处理几乎所有线性问题,能够构建简单的非线性问题。能够处理轻量级别的图像识别、音频识别。从而拓展出各类应用,比如拍图识物、你说我猜等小游戏、智能机器人(AI)、语音轮播图等程序

# 不足与缺陷

  • 机器学习现在主流的语言并不是 js 而是 python,虽然依旧有很多场景会放在浏览器使用,但模型的训练和制作层来说首选依旧是 python,并且短时间不会改变。js 的相关社区和模型也比较少,更多的还是要依赖与 python 转 js 模型

  • 对于普通人员(尤其是兴趣爱好者来说)数据的收集是比较有难度的,如果你要自定义制作或者扩展模型,是非常依赖大数据的,对于爱好者来说,你可能只有通过扒取数据来获取,会相当麻烦

  • 对于设备的要求其实还是有的,尤其是图片或者音频识别,在做练习的时候还好,但是实际项目中去跑这些数据是相当费时的,也考验电脑的配置,何况还要调配超参数

  • 大数据的缺失,导致很多尝试和想法不能实现。其二是非线性问题数据构造往往对高等数学有着较高的要求,所以准确率也有所欠缺,要想专研,难度较大。这就导致举一反三的能力欠缺和兴致的衰减

# 最后聊一聊

其实此次学习和我想象的还是有些出入的,原本以为AI学习是很考验算法的(其实也的确),但TensorFlow.js几乎将算法都封装好了,你只需要调用就行了,那么最大的难度就从写算法变成了找算法API。此次的学习也变成了学这些API的使用(想想确实也是,要叫你去学习写这些算法的确不太现实)。就像上面提到的不足一样,要想成为一个优秀的AI工程师,就必须学会“造”轮子,至少也得会重新“组装”轮子,那么对于高等数学的理解和学习是必不可少的,这也就限制了一般学习者的上线。高等数学这道坎也令很多人望而却步。数据的收集对于很多人来说也是难上加难,很容易就“到此为止”了,除非你是真正想要从事这个行业(即便是你想要从事这个行业,光TensorFlow.js可能也是不够的,也得学习python),否则你很难坚持下去,你可能会在兴头上做一两个有关的小游戏或者小工具,普通人再往前一步就很难了,无论是精力还是能力也好。

但你要问我是否值得学习,我觉得答案还是肯定的。学习一门技术,收获的可能不仅仅是技术本身。你会对前沿技术保持了解,会对代码间的使用产生共鸣,还能映射出一个人的逻辑以及学习能力。这样看来,60H左右的时间还是值得投入的。不断地学习中也会潜移默化地影响自己的思维和习性,保持自己的状态,最重要的是,提升了自己的阅历以及成就感。