- Objective: why解决什么问题? - Breadcrumb: # 概念阐释 神经网络的训练过程简单来说就是先输入一批样例,然后调整网络中的[[weights 权重]]来最小化[[Loss function 损失函数]]。 > 神经网络的实际学习过程是怎样的呢?归根结底,核心在于确定哪些 [[weights 权重]]能够最好地捕捉给定的训练样例。有各种各样的详细选择和“超参数设置”(之所以这么叫,是因为权重也称为“参数”),可以用来调整如何进行学习。有不同的[[Loss function 损失函数]]可以选择,如平方和、绝对值和,等等。有不同的**损失最小化**方法,如每一步在权重空间中移动多长的距离,等等。然后还有一些问题,比如“批量”(batch)展示多少个样例来获得要最小化的损失的连续估计。是的,我们可以(像在Wolfram语言中所做的一样)应用机器学习来自动化机器学习,并自动设置超参数等。 # 实例 # 相关内容 神经网络的训练本质上就是在处理数据(由数组成的数组组块)。但这些数组完全可以重新排列和重塑。而处理数的数组正是[[GPU]]所擅长的事,这也是为什么神经网络的训练常受限于GPU的数量。 ## 针对特定的任务选择何种神经网络架构 即使看似完全不同的任务,也可以使用同样的架构,这就像我们通常希望人工神经网络完成的任务就是类人的任务。 人工神经网络在完成任务时有点像人类在完成任务时一样,不要给它安排太多的具体任务。例如在语音转写文本时,要先分析音频 -> 将音频转换为音素等等。而是训练神经网络解决 **端到端的问题**([[machine learning 机器学习]]?),即输入语音,输出文本,让它自己“发现”必要的中间特征、编码等。 在任务完成度上,只要提供足够的样例和训练足够长的时间就可以得到想要的结果。 ## 如何获取用于训练神经网络的数据 - 通过[[Supervised learning 监督学习]]获取数据 - 通过[[unsupervised learning 无监督学习]]获取数据:与[[图像识别]]不同,ChatGPT的学习实际上可以从它得到的任何文本样例中学习 # 参考资料 - 《这就是ChatGPT》神经网络训练的实践和学问 p42-50