AI新手教程 [Tutorial for AI beginner]

前言

为什么写这个新手教程呢?是因为带过一些本科小朋友,刚开始学甚至没有学过深度学习,会不知道从哪里入手,有哪些资源可以利用等等。

学习嘛,学一些很难学的东西总是非常痛苦。有效的资源可以让学习者快速理解知识,快速上手,学习的过程也能变得愉悦。

好了,讲了这么多,其实我就是不想每次都发各种链接。

背景知识

本文假设你有一定的Python基础。没有的话就马上去学~

预备篇

我后来觉得要学习深度学习,作为学生而言,有些技术和工具是很重要的,应该在比较熟练掌握一些技术和工具之后,再去学习理论。

(待完成)

科学上网

目前的网络环境,不通过科学上网难以科研,难以访问Github,无法访问Google Scholar

一开始可以先通过免费的公益节点先实现科学上网,然后以后有需要再搞个付费的,更稳定。

freefq/free
关键点在于:
1. 安装v2rayN
2. 订阅https://raw.fastgit.org/freefq/free/master/v2

Linux

  1. SSH,SSH客户端
  2. FTP,Filezila
  3. 常用命令:cd, ls, cp, mv, mkdir, pwd, rm…

Conda

  1. 为什么要用conda?
  2. 创建环境,激活环境,退出环境
  3. conda install安装库

理论知识篇

关于深度学习的理论知识,请一定要看台湾大学李宏毅老师的课程,醍醐灌顶,幽默风趣,我为他打call。网课视频在李宏毅老师的主页可以找到,应该是挂在YouTube上。墙内用户也可以看B站上面的版本,跟弹幕大军一起交流。

李宏毅主页:https://speech.ee.ntu.edu.tw/~hylee/index.php
b站1:(强推)李宏毅2021/2022春机器学习课程
b站2:李宏毅2020机器学习深度学习(完整版)国语
b站上还有很多,搜关键词【李宏毅】即可。

第二推荐的就是Andrew Ng吴恩达在Coursera上面的机器学习和深度学习两个课程。毕竟我当年就是看这个入门的。

b站1:吴恩达 Andrew Ng 机器学习课程汇总【超全 | 入门经典 | 中英双语字幕 | 】
b站2:DeepLearning–Andrew Ng(吴恩达)
Coursera1:Machine Learning Specialization
Coursera2:Deep Learning Specialization

再进阶的话,就是涉及一些比较新的模型和算法了,那就可以去看李沐的视频。

b站主页:跟李沐学AI

个人评价:
1. 李宏毅的最好理解,最轻松幽默
2. 吴恩达的讲得比较透彻,比较数学一些
3. 李沐的最前沿最新

深度学习工具平台篇

这部分就讲两个工具,PyTorch和TensorFlow。

1. PyTorch

学PyTorch请看这个教程 https://github.com/yunjey/pytorch-tutorial
使用方法:开个jupyter一句一句跑,一句一句看结果,同时看看这个教程代码的注释,搞懂每一步tensor都是怎么变化的、函数怎么用的、模型怎么构建的等等,就学会了。

2. TensorFlow

其实我比较推荐PyTorch,但是免不了科研中需要复现人家的工作,而人家的代码是TensorFlow写的。可以参考这个教程 https://github.com/instillai/TensorFlow-Course
使用方法跟PyTorch一样就行。

然后学完这两个教程,很有可能你依然不知道模型该怎么搭,怎么训练,怎么测试。很正常,因为你缺少实操。以后有机会真的自己从头开始复现一个模型什么的,你就真的掌握了。

AI对抗样本

讲这个主要是因为我就是研究AI安全的。
怎么生成对抗样本?一个典型的对抗样本生成方法是projected gradient descent (PGD),只要去看懂下面这个代码就行,代码很简单,适合新手。看完这个至少马上会对对抗样本有个概念。

Github:PGD-pytorch

其他必备知识

  1. Linux的基本使用:因为你需要在服务器上训练
  2. SSH客户端,如putty、mobaxterm等:因为你要连接服务器
  3. FTP客户端,如FileZilla:因为你要很方便地传文件
  4. VScode,SSH Remote插件:因为你要写代码,并且需要方便地运行你的代码
  5. conda:因为你可能要做很多的项目,不同的项目会有不同的python环境

(待更新)

Leave a Comment