如何理解NLP人工智能里的机器学习

今天聊聊最近的AI学习,顺便总结一下经验,希望新入门的兄弟姐妹通过本文能更好理解AI。

AI(人工智能)为应用程序开发人员开辟了全新的可能性。通过利用机器学习或深度学习,您可以生成更好的用户配置文件、个性化和推荐,或集成更智能的搜索、语音界面或智能助理,或以其他几种方式改进您的应用程序。您甚至可以构建了解、的应用程序,并了解如何与人类进行交互。你准备好学习人工智能,你知道选择哪种编程语言吗?下面列出的五种编程语言被认为是最适合学习AI的。你可以参考它。

1. PYTHON

首先是毫无疑问的Python。虽然Python的一些功能令人不愉快(空白、Python 2.x和Python 3.x之间的巨大差异,五种不同的包机制在不同程度上存在缺陷)但是如果你正在研究AI,你几乎可以肯定Python是在某些时候用过。

Python中可用的库的数量超出了其他语言的范围。 NumPy已经变得非常普遍,几乎已成为张量操作的标准API,而Pandas将R强大而灵活的数据帧带入Python。对于自然语言处理(NLP),您可以使用着名的NLTK和闪电般快速的SpaCy。对于机器学习,有一个实用的Scikit-learn。NLP伪原创软件在深度学习方面,所有当前的库(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano等)都是用Python实现的第一个项目。

(在LiveEdu上,德国AI开发人员教你如何使用Python开发两个简单的机器学习模型)

如果您正在阅读关于arXiv的顶级深度学习研究,几乎可以肯定您将在Python中找到源代码。

此外,还有Python生态系统的其他部分。尽管IPython已经重命名为Jupyter Notebook并且看起来不再以Python为中心,但您仍然会发现大多数Jupyter Notebook用户和大多数在线共享笔记本都使用Python。Python是人工智能研究领域的领先语言,是具有最多机器学习和深度学习框架的语言,也是几乎所有AI研究人员都拥有的语言。由于这些原因,虽然我每天都在诅咒空白问题,但Python仍然是人工智能伪原创编程语言之王,你无法绕过它。

2. JAVA及相关语言

JVM系列语言(Java,Scala,Kotlin,Clojure等)也是AI应用程序开发的绝佳选择。无论是自然语言处理(CoreNLP)、张量操作(ND4J)还是完整GPU加速深度学习堆栈(DL4J),您都可以使用大量库来管理管道的各个部分。此外,您还可以轻松访问Apache Spark和Apache Hadoop等大数据平台。

Java是大多数企业的通用语言,Java 8和Java 9中提供了新的语言结构,使得编写Java代码的体验不再像我们过去记忆的那样糟糕。用Java编写人工智能应用程序可能很无聊,但确实可以完成工作,您可以使用所有现成​​的Java基础架构来开发、部署和监控。

3. C / C ++

在开发AI应用程序时,C / C ++不太可能是您的首选,但如果您在嵌入式环境中工作并且无法承担Java虚拟机或Python解释器的开销,那么C / C ++是最好的解决方案。当你需要消耗每一滴性能时,你必须面对可怕的指针世界。

幸运的是,现代的C / C ++写作经验并不差(说实话!)。您可以选择以下选项之一:您可以深入到堆栈的底部,使用CUDA等库来编写自己的代码,这些库将直接在GPU上运行;您还可以使用TensorFlow或Caffe访问灵活的Advanced API。后者还允许您导入由Python中的数据科学家编写的模型,然后在C / C ++级别的生产环境中运行它们。在来年,请密切关注Rust在AI领域的一些行动。结合C / C ++级别的速度和类型以及数据安全性,Rust是实现产品级性能而不会产生安全问题的最佳选择。现在它已准备好与TensorFlow捆绑在一起。

4. JAVASCRIPT

蛤? ! JavaScript的?我没弄错了吗?事实上,Google最近发布了TensorFlow.js,这是一个WebGL加速库,允许您在Web浏览器中训练和运行机器学习模型。它还包括Keras API以及加载和使用已在常规TensorFlow中训练的模型的功能。这可能会吸引大量JS开发人员进入AI领域。虽然与其他语言相比,JavaScript当前可以访问的机器学习库是有限的,但在不久的将来,将神经网络添加到网页就像添加React组件或CSS属性一样简单。这听起来有力而且可怕。
TensorFlow.js仍处于早期阶段。它目前在浏览器中工作,但不适用于Node.js.它也没有实现完整的TensorFlow API。但是,我预计这两个问题将在2018年底基本解决,JavaScript将在不久的将来进入AI世界。

5. R

R排在列表的底部,看起来越来越多。 R是数据科学家喜欢的语言。但是,其他程序员在第一次联系R时可能会感到困惑,因为它使用了以数据帧为中心的方法。如果你有一组专门的R开发人员,那么使用R和TensorFlow、Keras或H2O进行研究。、原型设计和实验是有道理的。但是,根据性能和操作考虑,我不愿意推荐R用于生产。虽然您可以编写可以部署在生产服务器上的高性能R代码,但将使用R编写的原型重新编码为Java或Python当然更容易。

猜你喜欢

转载自blog.csdn.net/i_like_cpp/article/details/82670549