The eleventh lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses bo...
The twelfth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses bot...
00:20:00 在本节中,演讲者解释了如何将高斯分布应用于深度神经网络分类层中最后一层的权重,以解决分类中的不确定性问题。说话者假设可以使用高斯分布的任何协方差,因为它无关紧要,分布的均值由深度神经网络的训练权重给出。然后,演讲者使用高斯分布来解决上一张幻灯片中的问题,方法是对 X 星处 theta 的 F 上的软 Max 进行近似积分。 David Makai 近似用于计算派生变量的 soft Max,该派生变量具有网络原本具有的输出的平均预测。可视化中描绘此近似值的蓝线与一条线有界,这为分类中的不确定性提供了解决方案。
00:45:00 在本节中,演讲者讨论了深度学习中的不确定性,尤其是神经网络中的不确定性。他们注意到核心方差函数是通过在网络的雅可比行列式中找到损失函数的模式给出的,取内积与 Hessian 的倒数。演讲者提到这个过程可以以 David Pinkai 开发的简单近似的形式用于分类。该过程涉及定义损失函数、计算损失函数的 Hessian 以及训练网络相对于权重的 Jacobian。最后,将两者组合成一个乘积,给出了 x 星的 f 的预测函数,该函数在 x 中仍然是非线性的,但在权重空间中是线性的。发言人强调,这一过程有助于避免过度自信,特别是在分类的情况下。
The thirteenth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses ...
Philipp Hennig对《Numerics of Machine Learning》课程进行了总结,强调解决机器学习中与数值分析相关的数学问题的重要性,如积分、优化、微分方程和线性代数。他讨论了对数据集执行线性代数的复杂性,以及它与处理单元和磁盘的关系。 Hennig 还涵盖了诸如处理非平凡大小的数据集、求解线性系统的算法、求解偏微分方程和估计积分等主题。最后,他承认训练深度神经网络的困难以及克服随机性问题的解决方案的必要性。
The fourteenth and final lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class ...
Want to learn what make Support Vector Machine (SVM) so powerful. Click here to watch the full tutorial.⭐6-in-1 AI MEGA Course - https://augmentedstartups.in...
"There have been two very different paradigms for Artificial Intelligence: the logic-inspired paradigm focused on reasoning and language, and assumed that th...
To master machine learning models, one of the best things you can do is to implement them yourself. Although it might seem like a difficult task, for most al...
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/01 KNN at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
00:05:00 在本节中,演讲者将使用 Python 从头开始实现线性回归。说话人初始化学习率,为迭代次数设置默认值,并将权重和偏差定义为零。然后说话者通过 x 与权重的点积并添加偏差来预测结果。为了计算导数,说话者使用一个简单的方程,然后通过计算梯度来更新权重和偏差。最后,演讲者总结预测值与实际值之间的差异,并重复该过程多次迭代直至收敛。
00:10:00 在本节中,演讲者讨论了如何训练线性回归模型并使用给定的类别进行预测。通过分别减去学习率乘以权重和偏差的导数来更新权重和偏差。为了多次迭代运行算法,添加了一个 for 循环以在数据集上运行算法。最后,演讲者展示了如何使用 scikit-learn 的数据集功能测试线性回归算法的效率,方法是拟合一条产生良好性能的线并计算预测的均方误差。由于错误的点积计算而遇到维度错误,通过获取 x 的转置来纠正。
00:15:00 在本节中,演示者修复了代码中的拼写错误,并使用它创建了一个线性回归模型,该模型根据给定数据集中的 x 值预测 y 值。然后他们将预测线可视化,并注意到虽然它很合适,但还可以改进。演示者决定调整学习率并重新运行模型以获得更好的拟合度。他们在 GitHub 上分享代码,并邀请观众在需要时提出问题。
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/02 Linear Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
第 11 讲 -- 深度学习优化 -- Frank Schneider
ML 11 的数值——深度学习的优化——Frank Schneider
Frank Schneider 讨论了深度学习优化的挑战,强调了训练神经网络的复杂性以及选择正确的优化方法和算法的重要性。他注意到可用方法的数量非常多,而且很难比较和对不同算法进行基准测试。 Schneider 提供了大型语言模型成功训练的真实示例,以及需要非默认学习率计划和飞行中途更改才能使模型成功训练。 Schneider 强调了让用户更深入地了解如何使用这些方法以及超参数如何影响训练过程的重要性,以及创建基准练习以帮助从业者为其特定用例选择最佳方法的重要性。他还讨论了像 Alpha 这样的新方法,以及如何利用它来引导神经网络的训练过程。
在关于深度学习优化数值的视频的第二部分,Frank Schneider 介绍了“Deep Debugger”工具 Cockpit,它提供了额外的工具来检测和修复训练过程中的问题,例如数据错误和模型块。他解释了规范化数据以获得最佳超参数的重要性、学习率和测试准确性之间的关系,以及训练具有随机性的神经网络的挑战。 Schneider 鼓励学生通过将梯度视为一种分布并从长远来看开发更好的自主方法来努力改进神经网络的训练。
第 12 讲 -- 深度学习的二阶优化 -- Lukas Tatzel
ML 12 的数值 - 深度学习的二阶优化 - Lukas Tatzel
在此视频中,Lukas Tatzel 解释了深度学习的二阶优化方法及其潜在优势。他以 2D 中的 Rosenberg 函数为例,比较了三种优化方法(SGD、Adam 和 LBFGS)的轨迹和收敛速度。 Tatzel 指出,与 LBFGS 的消息灵通的步骤相比,SGD 的跳跃行为使收敛速度变慢。他介绍了牛顿步作为一种更快的优化方法,并讨论了它的局限性,例如对条件数的依赖性。 Tatzel 还解释了广义高斯-牛顿矩阵 (GGN) 的概念,作为处理病态问题的 Hessian 矩阵的近似值。此外,他还讨论了置信域问题、如何处理非凸目标函数以及使用 CG 最小化二次函数的 Hessian-free 方法。
视频的第二部分探讨了深度学习的二阶优化技术,包括 BFGS 和 LBFGS、无 Hessian 优化和 KFC。演讲者解释说,Hessian-free 方法使用 Jacobian Vector 乘积将模型线性化,而 KFC 是基于官方信息指标的近似曲率。但是,这些方法可能会出现随机性和偏差,建议使用阻尼来解决这些问题。演讲者建议使用专门的算法,这些算法可以使用更丰富的数量(如分布)进行更新,并指出随机性的基本问题仍未解决。总的来说,二阶优化方法为深度学习的挑战提供了部分解决方案。
第 13 讲——深度学习中的不确定性——Agustinus Kristiadi
ML 13 的数值 - 深度学习中的不确定性 - Agustinus Kristiadi
该视频讨论了深度学习中的不确定性,特别是神经网络的权重,以及由于渐近过度自信问题而纳入不确定性的重要性,其中神经网络对不应分类的分布外示例给出高置信度预测肯定。该视频提供了有关如何使用二阶量(特别是曲率估计)将不确定性引入深度神经网络的见解,使用高斯分布来近似最后一层的权重,并使用 Hessian 矩阵来估计神经网络的曲率。该视频还讨论了用于选择神经网络模型和参数的贝叶斯形式主义和拉普拉斯近似。
在讲座的第二部分,Agustinus Kristiadi 在本视频中讨论了在深度学习模型中引入不确定性的各种方法。一种技术涉及使用线性化拉普拉斯近似将神经网络转换为高斯模型。另一种方法是分布外训练,在原始训练集未覆盖的区域中添加不确定性。 Kristiadi 强调了增加不确定性以防止模型过度自信的重要性,并建议使用概率措施来避免寻找理想后验的成本。这些技术将在即将推出的概率机器学习课程中进一步探讨。
第 14 讲——结论——Philipp Hennig
ML 14 的数值——结论——Philipp Hennig
Philipp Hennig对《Numerics of Machine Learning》课程进行了总结,强调解决机器学习中与数值分析相关的数学问题的重要性,如积分、优化、微分方程和线性代数。他讨论了对数据集执行线性代数的复杂性,以及它与处理单元和磁盘的关系。 Hennig 还涵盖了诸如处理非平凡大小的数据集、求解线性系统的算法、求解偏微分方程和估计积分等主题。最后,他承认训练深度神经网络的困难以及克服随机性问题的解决方案的必要性。
在他的系列讲座的结尾,Philipp Hennig 强调了超越仅仅训练机器学习模型以及了解模型知道多少和不知道什么的重要性。他谈到了估计损失函数的曲率以构建深度神经网络的不确定性估计,以及概率的重要性,但由于计算复杂性,不一定在每种情况下都应用贝叶斯定理。 Hennig 还强调了数值计算在机器学习中的重要性以及开发新的以数据为中心的计算方式的必要性。最后,他征求有关课程的反馈并讨论即将到来的考试。
7 分钟了解支持向量机 (SVM) - 有趣的机器学习
7 分钟了解支持向量机 (SVM) - 有趣的机器学习
该视频介绍了支持向量机 (SVM),这是一种分类算法,用于具有两个类别的数据集,它根据数据集的极值绘制决策边界或超平面。它还讨论了如何通过使用内核技巧将 SVM 转换为更高维的特征空间来将 SVM 用于非线性可分数据集。该视频介绍了 SVM 的优势,例如在高维空间中的有效性、内存效率以及使用不同内核实现自定义函数的能力。然而,该视频也指出了该算法的缺点,例如当特征数量大于样本数量时性能不佳以及缺乏直接概率估计,这需要昂贵的交叉验证。
“深度学习革命” - Geoffrey Hinton - RSE 总裁讲座 2019
“深度学习革命” - Geoffrey Hinton - RSE 总裁讲座 2019
被誉为“深度学习教父”的杰弗里·辛顿 (Geoffrey Hinton) 讨论了深度学习和神经网络的历史和演进,使用深度学习创造可以像人脑一样学习的机器的挑战和令人兴奋的可能性,以及使反向传播更有效的技巧和技巧。他还描述了神经网络在语音识别和计算机视觉方面的成功、神经网络在计算机视觉和无监督预训练方面的演变,以及它们在语言建模和机器翻译方面的有效性。最后,他强调了类比推理的价值,并讨论了他的“胶囊”理论和将知识连接到一个从整体预测部分的模型中。
深度学习先驱杰弗里·辛顿 (Geoffrey Hinton) 在演讲中提倡将关联记忆、快速记忆和多时间尺度集成到神经网络中,以实现长期知识和临时存储,这对于真正的推理是必不可少的。此外,他还讨论了先验信念和数据之间的平衡行为、无监督学习的潜力、卷积网络结合视点知识和平移等变性识别对象的效率,以及将符号推理与联结网络(如 transformer)相结合的必要性网络。他还解决了机器学习中无意识偏见的问题,并认为通过识别和纠正偏见,它们比人类偏见更容易解决。最后,他强调需要为人工智能领域的年轻研究人员提供更多资金和支持。
ChatGPT 的实际工作原理
ChatGPT 的实际工作原理
ChatGPT 是一种机器学习模型,能够正确识别聊天对话中的有害内容。它的架构基于人工输入,并概述了它的缺点。还提供了推荐读物。
从零开始的机器学习完整课程
从零开始的机器学习完整课程
自己实施机器学习模型是掌握它们的最佳方法之一。尽管看起来是一项具有挑战性的任务,但对于大多数算法而言,它通常比您想象的要容易。在接下来的 10 天里,我们将使用 Python,偶尔使用 Numpy 进行特定计算,每天实现一种机器学习算法。
您可以在我们的 GitHub 存储库中找到代码: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch
如何用 Python 从零开始实现 KNN
代码: https ://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/01%20KNN
如何用 Python 从零开始实现 KNN
在标题为“如何使用 Python 从头开始实现 KNN”的视频中,演讲者解释了如何使用 Python 从头开始创建 KNN 分类器。它们涵盖了实现算法所涉及的步骤,例如计算新数据点与数据集中其他点之间的距离,选择 k 个最近点,以及确定用于分类的标签或用于回归的平均值。演讲者使用 Python 中的类实现了该算法,并演示了其在 iris 数据集上的成功实现,准确率为 96%。他们还邀请观众查看他们 Github 存储库中的代码,并在评论部分提出问题。
如何使用 Python 从零开始实现线性回归
代码:https: //github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/02%20Linear%20Regression
如何使用 Python 从零开始实现线性回归
该视频介绍了使用 Python 从头开始实现线性回归的过程。演讲者解释了如何使用均方误差找到最佳拟合线以及如何使用梯度下降计算权重和偏差。演讲者还讨论了学习率如何影响收敛,并演示了如何使用 scikit-learn 的数据集功能测试模型。他们还修复了代码中的拼写错误并调整学习率以提高预测线的拟合度。代码在 GitHub 上共享,欢迎观众提问。
结果,并计算方程的误差,使得使用矩阵乘法与所有数据点来计算梯度变得更容易。在测试期间,经过训练的模型使用方程预测结果。