作者 | Tom Silver
译者 | 弯月
出品 | CSDN(ID:CSDNnews)
我从事人工智能研究的工作已经有两年了 , 有朋友问我都学到了什么 , 所以我想借本文分享一些迄今为止积累的经验教训 。 我将在本文中分享一些常见的经历 , 还会讨论相对具体的人工智能行业技巧 。 希望对大家能有一定的帮助 。
文章图片
大胆向同事请教
起初 , 我有点畏惧周围的同事 , 害怕一些过于基本的问题可能会暴露自己缺乏专业知识 。 几个月后 , 我与同事们相处得越来越融洽 , 但提问的时候我仍然会小心翼翼 。 现在我有几个可以敞开心扉的好朋友了 。
多么希望我能早点与他们成为好朋友!这样就不必下班后拼命上网搜索资料了 。 现在每当遇到困惑 , 我会立即提出来 , 并在进一步发酵之前解决掉 。
通过各种途径寻找研究灵感
决定研究课题是我的工作中最困难的部分 。 下面是研究人员经常采用的一般策略:
1、与不同领域的研究人员交谈 。 询问他们对什么问题感到兴奋 , 并尝试用计算机术语重新表述问题 。 问一问他们是否有想要分析的数据集 , 但目前已有的技术不足以完成这些分析 。 在机器学习中 , 许多颇有影响力的研究都源于与生物、化学、物理、社会科学或纯数学的碰撞 。
例如 , Matthew Johnson 等人发表的论文《Composing graphicalmodels with neural networks for structured representations and fast inference》就源自一个老鼠行为的数据集 , 而Justin Gilmer 等人发表的论文《Neural Message Passingfor Quantum Chemistry》则源于量子化学的应用 。
2、针对问题编写一个简单的基准方案 。 例如 , 尝试编写一些经过仔细校准的代码来控制倒立摆 , 或者尝试将词袋模型应用到自然语言数据集上 。 在编写基准方案时 , 我经常遇到意想不到的情况 , 有时是我的预期有问题 , 有时则是代码的问题 。 在找到合适的基准后 , 通常我会产生一些其他想法 , 并更深入地理解问题 。
3、扩展论文的实验部分 。 仔细阅读方法和结果 。 尝试找到实验的办法 。 首先考虑简单的扩展 , 然后思考论文的方法是否充分 。 想一想还有哪些基准方法没有讨论 , 并想象这些方法可能不足的地方 。
在视化工具和技巧方面的投入
我采用的编写研究代码的策略是从创建可视化脚本开始 。 编写完其余代码后 , 运行可视化脚本就可以快速验证代码是否符合我的预期 。 更重要的是 , 良好的可视化可以让我快速发现思路或代码中的错误 , 而且也更方便解释 。 在完成代码后 , 我就可以向其他人展示图形或视频 , 这样可以让我很有成就感 。
【从事了两年 AI 研究,我学到了什么?】针对当前问题提出正确的可视化可能很困难 。 如果你正在迭代优化模型(例如深度学习) , 绘制损失曲线将是一个不错的起点 。 还有许多技术可用于可视化和解释神经网络的学习权重(尤其是卷积神经网络) , 例如导向反向传播 。 在强化学习和规划中 , 最应该可视化的是智能体在其环境中的行为 , 无论是雅达利游戏、机器人任务 , 还是简单的网格世界(例如 OpenAI Gym 中的环境) 。
根据设置 , 还可以可视化值函数及其在训练过程中的变化或探索状态树 。 在处理图形模型时 , 应该可视化一维或二维变量的分布 , 因为它随着推理而发生的变化中的信息非常有价值 。 对于评估可视化 , 有效性的一种方法是 , 估计一下在每次分析可视化时头脑中需要记住的信息量 。 不恰当的可视化需要你经常回忆代码中的细节 , 而良好的可视化能够让结论一目了然 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
