一. 简介
随着 ChatGPT 3.5 的出现,人工智能 (AI),特别是人工神经网络 (ANN) 已经融入我们的日常生活和工作。毫无疑问,ChatGPT 将给人们带来更富有挑战的机遇。因此适当了解ANN 是有必要的。我本身有常识水平的神经科学背景,总觉得我们不仅应该知道 ANN 能做什么,而且应该知道 ANN 是如何工作的。 根据我以往的经验,科学中的一些基本原理藏在细节中,这突出了实战学习的重要性。然而,实战学习很容易卡在某一个细节上。我发现使用 Google 的 Colab 很容易克服这一问题。 正是基于上述想法,我计划系统地了解 ANN 的工作原理,并把我的学习心得整理成一系列的文档和视频分享给大家。该系列从简到繁,每一步都是可操作的。如果您也感兴趣,不妨可以跟我一起学。 最重要的一点是,希望大家多提意见! 1. 总体学习目标: 了解ANN 背后的基本原理。 使用 TensorFlow/Keras 构建和训练神经网络。 通过理解 ANN 加深对生物大脑的理解 通过学习健脑。我有3个grand kids, 活到老,学到老! 我将用我的经验证明,外行也可以理解人工智能。 2. 前提知识和工具: 您不需要很强的数学背景,也不需要很强的编程技能,更不需要丰富的生物学知识。但您需要好奇心,高中数学和一台有互联网连接的电脑。 TensorFlow/Keras 对用户隐藏了很多底层数学,这对我们外行来说无疑是个好消息。当然,对线性代数、微积分和概率的基本了解对于理解深度学习中的一些关键概念非常有帮助。 3. 我的学习策略: 通过实践理解原理。如果遇到难题,向 ChatGPT 请教 (Google 搜索还是必要的)。 二. 今天学习内容: 1. 初步处理数据集 2. 构造简单的神经网络模型 3. 模型训练 4. 模型评估 三. 预热: 1. MNIST数据集: 70,000 张手写数字图像 (digits 0 ~ 9), 每个图片大小为28 x 28 灰度像素 (0 – 255),有相应的标签 数据集已经分为训练集 (60000) 和测试集(10000):测试集非必须 目标:建立并训练一个神经网络,使其能够识别手写数字。 从数据集来看,我们似乎需要一个像上边第二个图所示的神经网络:这要求输出单元有 10 个状态 (0, 1, . . ., 9). 然而,多重分类通常使用独热编码 (one-hot encoding) 作为输出,如下图所示。 2. Google Colaboratory (Colab) Colab 允许通过浏览器创建笔记本,用以编写和执行 Python 代码,特别适合机器学习和数据分析。 使用 Colab 需要一个Google 账号。如果您使用 Gmail,则您已经拥有一个 Google 帐号 创建Colab笔记本: 方法一:访问https://colab.research.google.com/ 方法二:访问 你的Google Drive 四. 实战 我把这部分的内容分解成三个视频,避免视频实践太长。此外,我还作了一个小视频,专门讲解 Colab 笔记本的创建。 视频地址: 笔记-1A 简介: https://www.youtube.com/watch?v=FluLSSlopDc 笔记-1B 实践: https://www.youtube.com/watch?v=61dJeD8owsg 笔记-1C 实践: https://www.youtube.com/watch?v=etlcz20dXoI Colab 笔记本的创建: https://www.youtube.com/watch?v=rRsoB5l4Fdw 今天的代码: 代码不长,但包含了神经网络学习的主要成分。
|