2000年就与CSDN结下了不解之缘,见证了其发展与壮大,下一个AI时代,共同学习与成长。
IBM PowerAI人工智能12小时编程马拉松大赛——“我是大侦探”
CSDN总编孟迎霞对于有志于向人工智能领域发展的技术人员提出了三点建议:一是坚定自己要到哪里去。人工智能领域范畴庞大,涉及行业多,不论是专业化人工智能还是通用普适化人工智能,带来众多机遇,开发者要选定方向和路径。第二,要善于利用巨头和工具的资源。第三,开发者要沉下心来苦练内功,抓住机会。
TensorFlow 贡献者唐源:掌握 Google 深度学习框架的正确姿势
唐源,美国 Uptake 数据科学家,带领团队建立用于多个物联网领域的数据科学引擎进行条件和健康监控,同时建立公司的预测模型引擎,现已被用于航空、能源等大型机械领域。是 TensorFlow 和 DMLC 的成员,TensorFlow、XGBoost、MXNet 等软件的 committer,曾荣获谷歌 Open Source Peer Bonus。在美国宾州州立大学获得荣誉数学学位,曾在本科学习期间成为创业公司 DataNovo 的核心创始成员,研究专利数据挖掘、无关键字现有技术搜索、策略推荐等。
CSDN:对于数学功底不是很好的程序员,如果想掌握深度学习,甚至成为数据科学家,您有什么好的建议?
唐源:深度学习其实一开始也就是从一个简单的神经网络发展来的。如果想扎扎实实做这一方面的研究,当然数学越好以及知识越广能够带你走的更远。但是如果没有很好的数学功底,走应用的路线也是非常好的,毕竟也不是所有的研究都有很大的影响力或者用到了很高深的数学,很多时候只要能够读懂大概的算法思路,知道这个算法在什么样的应用中适用就行了。现在数据科学家的门槛其实也是越来越低,以前是有 Scikit-learn 的帮助,现在是有着各种深度学习框架,甚至最近 TensorFlow 在机器学习应用方面的侧重,比如说大力研发高阶的 Estimator API,也更是让更多人能够更有效地学习和更快地进入到这个行业当中。
CSDN:如果没有数学基础的限制,能否给刚入门深度学习的开发者提供一些学习和实践经验?
唐源:可以对这些深度学习的算法和架构都进行了解,要知道每个算法都适用于哪些类型的运用,基础好的话可以直接读一些好的会议以及期刊论文,关注一下前沿的研究。一定要多积累实战经验,可以多参与项目,参与像 Kaggle 这样的竞赛,最近的 Data Science Bowl 就是个很好的切入点,可以多融入到论坛中的讨论,来学习学习大家的思路和方法。如果对模型具体的实现感兴趣的话,可以尝试着读一读源代码,因为这不仅能帮助理解模型,也能了解到对于这个模型的实现,具体有哪些需要注意的地方,比如说性能上为什么这样处理会更好,API 为什么这样设计,等等。
CSDN:如果用户已经使用 Spark 作为大数据处理平台,也用了 MLlib,有什么理由是他必须使用 TensorFlow 的?
唐源: TensorFlow 提供的不仅仅只是现有的一些比较热门的模型实现,深度学习和机器学习这个领域的发展是非常快的,很多问题往往不是简单的现有模型能够解决的,最重要的是一个框架的灵活性和可拓展性一定是不能丢的,Spark 的 MLlib 很优秀地实现了一些工业界需求比较大的一些算法,但是 TensorFlow 能提供的不仅仅是这些,它提供了很多建立机器学习和深度学习必有的元素,比如,TensorFlow 有着自己的 metrics、losses、optimizers、layers 等模块来帮助建立各种各样的深度学习模型,它也提供了许多高阶的 Estimator API 来帮助用户更好地搭建和定义自己的分布式的模型,FeatureColumn 模块来帮助数据科学工作中很重要的特征工程,DataFrame 和 QueueRunner 等模块来更好地实现数据的预处理,提取批量队列,等等。另外,TensorFlow 省去了在各种不同的设备(比如 CPU、GPU、TPU)上的实现,用户只需要集中精力调用已经实现好的 API 就可以在各种设备上进行自动优化以及资源分配,这些都是 Spark 目前还不能或者是很难做到的。最近雅虎开源的 TensorFlowOnSpark 也挺有意思,可以在现有的 Spark/Hadoop 分布式集群的基础上部署 TensorFlow 的程序,这样可以避免数据在已有 Spark/Hadoop 集群和深度学习集群间移动,HDFS 里面的数据能够更好地输入进 TensorFlow 的程序当中。