计算机基础
计算机是一切的工具。
众所周知,计算机是人工智能这一领域的最重要基石之一,即使读者是一个对于这一领域了解甚少的人,也八成了解过至少人工智能的模型是运行在电脑之上的,因此,了解计算机的基本使用以及增长自己的 Coding 能力也是很重要的一环。
首先是对于电脑的基本使用,笔者希望读者可以学会以下的几件事情:
- 基本的电脑各种操作。这里指在 Windows 下的使用。基础的各种计算机的操作是必要的一环,假如说读者甚至在入学之前没怎么接触过计算机,那么恶补相关的知识永远是放在第一位的。
- 可以合理的描述报错信息。当读者在配置电脑的环境或者在进行代码书写的过程中出现了报错,读者需要学会如何妥善的记录这些错误,并且在网上搜索解决方法。寻找身边的计算机高手也是一个很好的解决方案,但是请记住,“任何一名 IT 人士对读者的帮助假如是无偿的,这意味着读者需要妥善的描述读者的报错信息”。只有当读者付出了十分钟来提问,别人才会花十分钟来解决读者的问题。这里依然推荐不朽的名著,提问的智慧。尽管现在读者可能认为要求他人学会如何“提问”是一件十分傲慢的事情,然而某一天当读者在给自己的后辈讲解问题时,面对杂乱无章的描述以及一团乱麻的现状,可能也会想起这篇名著,并且发送它的链接。
其次是学会编程语言,本文强烈推荐每一位读者将 C++ 作为自己学习的第一门计算机语言,这将帮助读者培养自己的编程思维,并提升自己的编程素养。不过在面向深度学习进行编程的过程中,实际上Python是更为常见的编程语言。强大的拓展功能,便捷且精妙的语法,以及独有的,其对于深度学习框架的支持:Torch 以及 TensorFlow 或者 MXNet 等著名框架都将 Python 作为首要的发布平台。所以说具备了基本的编程能力之后,读者可以将自己的精力尽可能多的投入到 Python 这一语言的学习上,同时学习 Pytorch 这一深度学习框架(Pytorch是当今最热门,设计最合理,最易于上手且功能最为强大的深度学习框架,相较之下其他的框架似乎学习的意义并不大)。
最后,或许读者有必要了解一些基本的计算机领域的技能,这些技能或许笔者在将来也会发布较为全面的汇总以及教程,不过在这里也提及部分。比如说笔者用于写作本文的 Markdown 语法,用于版本管理以及参与开源项目的 Git,大多数服务器使用的 Linux 操作系统的命令行语法,远程控制服务器的 ssh,如何登录 GitHub 等网站等。
关于计算机相关的知识,知名开源项目 CS自学指南 中收录的绝大多数读者需要掌握的计算机知识,其推荐的课程十分的优质,但是切勿陷入其中过多,计算机领域的知识终究与人工智能领域的知识存在一定的差异。