人工智能基础-什么是人工智能?你在想Chappie,终结者和露西吗?
你在想Chappie,终结者和露西吗? 有意识的,自我意识到的机器人比你想象的更接近现实。 开发等于或超过人类智能的计算机系统是人工智能的关键。 人工智能(AI)是计算机科学的研究,专注于开发展示人类智能的软件或机器。 一个简单的定义,对吗?
显然,它还有很多。 AI是一个广泛的主题,从简单的计算器到自动转向技术,再到可能从根本上改变未来的东西。
AI的目标和应用
人工智能的主要目标包括演绎和推理,知识表示,规划,自然语言处理(NLP),学习,感知以及操纵和移动物体的能力。 人工智能研究的长期目标包括实现创造力,社会智能和一般(人类水平)智力。
人工智能严重影响了我们可能无法识别的不同领域。 Ray Kurzweil说:“成千上万的人工智能应用程序深深嵌入到每个行业的基础设施中。”人工智能的创始人之一约翰麦卡锡曾说过“一旦它起作用,就再也没有人称它为人工智能”。
从广义上讲,AI分为以下几类:
AI的类型
虽然有各种形式的人工智能,因为它是一个广泛的概念,我们可以根据人工智能的能力将其分为以下三类:
弱AI(也称为窄AI)专注于一项任务。在AI较弱的情况下,没有自我意识或真正的智慧。
iOS Siri是弱AI的一个很好的例子,结合了几种弱AI技术来运行。它可以为用户做很多事情,当你尝试与虚拟助手进行对话时,你会看到它的确如此“缩小”。
强AI(也称为True AI)是一种与人脑一样聪明的计算机。这种AI将能够执行人类可以完成的所有任务。这个领域有很多研究人工智能基础,但我们还有很多工作要做。你应该想象Matrix或我,机器人在这里。
如果强大的AI给你留下深刻印象,人工超级智能会让你大吃一惊。领先的AI思想家尼克博斯特罗姆(Nick Bostrom)将其定义为“比几乎所有领域中最优秀的人类智慧更聪明的智力,包括科学创造力,一般智慧和社交技巧。”
人工超级智能是许多着名科学家和技术专家,包括斯蒂芬霍金和埃隆马斯克,对人类灭绝可能性提出质疑的原因。
怎么开始?
您需要做的第一件事是学习编程语言。 虽然你可以从很多语言开始,但许多人更喜欢Python,因为它的库更适合机器学习。
以下是Python的一些很好的资源:
CodeAcademy
Learn Python the hard way
Coursera Python
Introduction to Computer science
Bots简介
BOT是弱AI的最基本的例子,可以代表您执行自动化任务。 Chatbots是最早被称为“机器人”的自动程序之一。你的聊天机器人需要AI和ML。 像谷歌这样的搜索引擎使用的网络抓取工具是复杂而先进的BOT的完美范例。
在开始编程机器人之前,您应该学习以下内容,以使您的生活更轻松。
xpath - 这将帮助您检查和定位HTML并根据您在那里看到的构建机器人。
regex - 这将帮助您通过清理或定位(或两者)与您的逻辑相关的部分来处理您为机器人提供的数据。
REST - 这非常重要,因为您最终将使用API。 您可以使用请求执行此操作。
如何建立你的第一个Bot?
您还可以从使用能够构建最终用户应用程序的API和工具开始。 这可以帮助您实际构建一些东西,而不必过多担心理论。 您可以使用的一些API是:
Google Cloud Prediction API Documentation
DiffBot
Machine Learning for Language Toolkit
Scrapy
Wolfram Alpha API
这里列出了一些BOT问题,供您在尝试最终挑战之前进行练习和尝试。
Tic Tac Toe
Hex
Dots & Boxes
现在怎么办?
一旦您对首选的编程语言有了全面的了解,并且对基础知识进行了充分的练习,您就应该开始了解有关机器学习的更多信息。 在Python中,开始学习Scikit-learn,NLTK,SciPy,PyBrain和Numpy库,这些库在编写机器学习算法时非常有用。您还需要了解高级数学。
以下是供您学习和练习的资源列表:
A Visual Introduction to Machine Learning
Machine Learning (By Andrew Ng)
Machine Learning Lectures (Tom Mitchell)
Artificial Intelligence (edX) (Specially for practice exercise in Python)
Intro to Statistics
Intro to Artificial Intelligence (Includes Logic and Robotics)
Artificial Intelligence
您还应该参加互联网上不同地方的各种AI和BOT编程竞赛:
Kaggle
Coding Game
HackerEarth
Robocup
拓展阅读:零基础的新手,如何快速入门机器学习和人工智能?
如何快速入门?如何掌握机器学习与人工智能的基础知识。给大家推荐几款权威的论文和机器学习资料。
UFLDL:非常好的DL基础教程,由Andrew Ng编写。有很详尽的推导,有翻译,且翻译质量很高;
Deep learning (paper):2015年Nature上的论文,由三位深度学习界的大牛所写,读完全篇论文,给人高屋建瓴,一览众山小的感觉,强烈推荐。如果只能读一篇论文了解深度学习,我推荐此篇。这篇论文有同名的中文翻译;
Neural networks and deep learning:这本书的作者非常擅长以浅显的语言表达深刻的道理,虽然没有翻译,但是阅读并不困难;
Recurrent Neural Networks:结合一个实际案例告诉你RNN是什么,整篇教程学完以后,会让你对RNN如何产生作用的有很清晰的认识,而这个效果,甚至是读几篇相关论文所没有的。
Neural Networks for Machine Learning:大牛的视角就是与众不同,看看Hinton对神经网络是怎么看的,往往会让你有种“原来如此”的感悟。其实看这门课程也等同于读论文,因为几乎每节课的参考资料里都有论文需要你读;
CS231n:Convolutional Neural Networks for Visual Recognition:最新的知识,还有详细的作业。国内应该有团队对字幕进行了翻译,网上应该可以找到下载;
PRML:作为一门经典的机器学习书籍,是很有阅读必要的,会让你对机器学习拥有一个别样的观察视角。
如果你想要深入学习和了解一门学科,就要遵循一万小时定律,也就是说,只有当你在某一学科或领域付出长时间(一万小时以上)的学习和实践,才有可能达到了然的状态。这一点适应于人工智能,也适用于学习任何其他的学科。
人工智能/机器学习实践操作:
实践出真知,看了那么多论文学习人工智能和机器学习,那么怎么去检验自己的动手和动脑能力呢?
谷歌的AIY 项目(AIY Projects)全称为 Artificial Intelligence Yourself,意为动手创造你的人工智能。该项目由 Google 于 2017 年启动,目标是让每个 Maker(创客)都可以 DIY 自己的 AI 人工智能产品。Google 先后在 5 月、12 月份分别推出该项目代表的两组套件 Voice Kit 和 Vision Kit。
Voice Kit 是 Google 首个推出的 DIY 人工智能产品。它可借助 Google Assistant SDK 和 Cloud Speech API,将树莓派转换为语音数字助理。用户可在此基础上创建虚拟语音助手人工智能基础,为自己的项目添加语音交互功能。
Vision Kit 则是 Google 推出的第二弹 DIY 人工产品。它是一套简单的计算机视觉系统,可运行 3 种基于 TensorFlow 的类神经网路模型应用程序。
Voice Kit使用Google智能助理为您的Raspberry Pi添加语音控制,而Vision Kit则打开图像识别并向创客们引入了神经网络。它可以检测千中常见物体,但也可以对您的脸部表情进行检测,并显示出您的情绪,比如愤怒、开心等等。
语音识别、图像检测、机器翻译、风格迁移等技术已经在我们的实际生活中开始得到了应用,但机器学习的发展仍还在继续,甚至被认为有可能彻底改变人类文明的发展方向乃至人类自身。