00:20:00 在本节中,演讲者讨论了一种用于优化输入以生成与特定输出神经元匹配的图像的技术,从而导致对抗性示例的出现,这些伪造图像可以被网络误认为是完全是别的东西。这项技术最初对神经网络社区是一个打击,但它导致了一种特别学习算法的发展,该算法会生成对抗性示例并将其作为反例添加到数据集中。然而,这种方法并不完全有效,因此开发了一种称为 Vanilla GAN 的端到端解决方案,这是一种基本方法,演讲者用来说明在框架之上构建的其他三种方法,以创建令人印象深刻的示例。
00:25:00 在本节中,演示者解释了 GAN(生成对抗网络)的工作原理。 GAN 由两个神经网络、一个产生输出的生成器和一个鉴别器组成,鉴别器是一个图像分类器,用于确定哪些输出是伪造的。训练 gan 的目的是让生成器网络产生越来越逼真的结果。正如演示者所解释的那样,生成器和鉴别器的工作就像两人的零和游戏,每个网络都试图超越另一个网络。生成器负责尝试创建欺骗鉴别器的虚假输出,而鉴别器的工作是捕捉这些虚假输出。演示者解释说,经过训练后,GAN 的输出将是目标输入和随机性的组合。
00:30:00 在本节中,演讲者讨论了条件 GAN,旨在将生成数据的能力与对输出的控制相结合。与在没有任何控制的情况下生成输出的普通 GAN 不同,条件 GAN 采用控制输出的输入,这使得它们对具有多个标签的数据集很有用。演讲者还讨论了循环 GAN,它使用两个生成器映射两个未配对的图像包,并添加循环一致性损失项以确保如果来回映射图像,则获得原始图像。这允许生成额外的图像,否则这些图像的创建成本很高。
00:35:00 在本节中,演讲者解释了隐写术的概念,即隐藏代码,以及它与生成模型(如 GAN 和 VAE)之间的关系,这些模型将一个图像隐藏在另一个图像中。这些模型的目标是让鉴别器无法分辨出一幅图像隐藏在另一幅图像中。演讲者展示了这些模型如何将图像转换为不同风格的示例,例如将照片转换为莫奈的画作。演讲者还谈到了生成超逼真人物图像的 GAN 风格,以及它如何通过反卷积神经网络提供潜在向量来生成从低级到高级语义属性的图像。
slides: https://mlvu.github.io/lectures/51.Deep%20Learning2.annotated.pdfcourse materials: https://mlvu.github.ioToday we discuss neural networks that can ge...
00:25:00 在本节中,演讲者讨论了使用大型复杂决策树时的过度拟合问题。他们解释了训练准确性如何随着树的最大尺寸而增加,但测试或验证数据的准确性会大幅下降。为了解决这个问题,演讲者介绍了修剪的概念以及它如何帮助减轻过度拟合。他们还强调了将数据拆分为训练、验证和测试集以进行超参数选择和模型搜索以确保跨模型公平性的重要性。最后,演讲者指出,像 SK Learn 这样的工具会在训练过程中自动保留一些训练数据以进行修剪。
01:15:00 在这一节中,解释了梯度提升和 ADA 提升之间的区别。在梯度提升中,每个模型都拟合前一个模型的伪残差,而在 ADA 提升中,每个新模型都根据前一个模型的性能拟合一个重新加权的数据集。对于不优化损失函数且不通过微积分启发的学习方法工作的模型,梯度提升效果更好。另一方面,Stacking 是一种简单的技术,可以将多个模型的判断组合成一个输出。在您训练了一些模型并希望将它们组合成更好的模型后,可以使用此技术来获得额外的性能提升。
ERRATA: In slide 55, W_i and W_c are the wrong way around in the definition of a_t.slides: https://mlvu.github.io/lectures/52.Trees.annotated.pdfcourse mater...
00:15:00 在本节中,演讲者讨论了使用顺序数据进行训练和预测的不同方法。他们强调在测试特定事物之前对发生的数据进行验证和培训的重要性。他们介绍了马尔可夫模型作为词级建模的概率模型,并解释了如何使用概率链式法则分解多个随机变量的联合概率分布。他们展示了如何将句子“Congratulations, you have won a prize”分解为六个随机变量的联合概率分布,这六个随机变量是六个独立的随机变量,并将联合概率分布分解为单词的条件分布的乘积它前面的单词。
00:40:00 在本节中,讲师讨论词嵌入的概念,这是一种将离散对象(例如词)表示为密集向量的方法。通过创建嵌入的线性映射矩阵来训练嵌入,然后可以使用该矩阵来查找单词上下文的概率分布。他举了一个例子,说明从“女人”中减去“男人”的嵌入如何创建一个方向,使事物变得更加女性化,以及如何使用这个方向来计算其他词(如“女王”)的词向量。讲师解释了如何将这些嵌入用作更大的机器学习神经网络的起点,以及如何从 Google 的开源模型库下载大量基于大量文本数据训练的词嵌入以用于其他项目.
00:55:00 在这一节中,演讲者解释了sequence to label,其中输出标签来自于一个序列数据,比如band classification。但是,仅使用序列的最后一个元素来预测输出并不理想,因为它会产生不对称性并可能导致梯度传播问题。相反,最好获取序列的整个输出并对其进行平均,这样网络可以考虑输入序列的每个部分,使其成为更好的标签预测器。此外,演讲者解释说,标记序列可以有两种方式,一种是将输入标签重复 n 次并将其输入神经网络以产生输出,另一种是使用输入初始化结束状态并为神经网络提供 0 向量以生成顺序。然而,这效率不高,因为循环神经网络往往会很快忘记事情,这意味着在某些情况下,马尔可夫模型可能是更好的选择。
01:15:00 在本节中,演讲者讨论了通过在大量数据上训练网络,使用 LS DM 生成文本,例如维基百科文章或唐纳德特朗普的推文。他们强调了 LS DM 可以体现的不同模式,例如 HTML 或 XML,并提到网络甚至可以生成看起来像高级数学论文的数学。此外,演讲者建议使用 LS DM 使用馈入网络的随机向量和基于变分外部编码器 (VAE) 的编码器/解码器网络生成随机输出,这通过神经网络生成的音乐示例得到进一步证明在 MIDI 片段上训练。
slides: https://mlvu.github.io/lectures/61.SequentialModels.annotated.pdfcourse materials: https://mlvu.github.ioIn the last lectures, we will discuss variou...
在视频的第一部分,演讲者讨论了矩阵模型及其在推荐系统中的应用,可用于产品推荐、新闻故事和社交网络。推荐系统依赖于显式和隐式反馈以及辅助信息,如果设计不当,可能会被操纵以传播虚假信息。矩阵分解是一种常用的基于用户行为预测评分的方法,通过平方误差法和计算 Frobenius 范数来解决寻找 U 和 M 矩阵以使 UTM 尽可能接近 R 的优化问题。演讲者还讨论了使用梯度下降优化此问题的方法,并解释了协同过滤的梯度更新规则。此外,演讲者还介绍了改进矩阵分解模型的五种方法,包括控制用户和电影偏见、使用隐式喜欢以及合并站点信息。最后,演讲者讨论了经典机器学习环境中矩阵分解的强大功能、PCA 在矩阵分解中的扩展,以及图形模型在存储数据方面的实用性。
00:05:00 在本节中,演讲者解释了可用于推荐系统的三种数据形式:显式反馈、隐式反馈和辅助信息。显式反馈是指要求用户对特定项目进行评分,这种情况非常有价值但相对较少。可以通过查看用户正在做什么来收集隐式反馈,例如页面浏览量、愿望清单,甚至是鼠标移动。 side information 不是用户和电影配对的信息,而是用户和电影本身的信息,比如时长、演员、导演等。演讲者指出,推荐系统可用于各种设置,包括产品推荐(例如亚马逊)、新闻故事(例如谷歌新闻)和社交网络(例如推特和 YouTube)。
00:20:00 在本节中,演示者解释了寻找 U 和 M 矩阵以使 UTM 尽可能接近 R 的优化问题。这是通过使用平方误差法并计算 Frobenius 范数来完成的。然而,问题在于评级矩阵中经常存在缺失值。为了解决这个问题,损失函数只在训练集中已知评级的 R 元素上计算,而不是 R 的所有元素。演示者还讨论了优化这个问题的两种方法,即交替优化和梯度下降。梯度下降法更灵活,更容易添加到您的模型中。
00:45:00 在本节中,演讲者讨论了矩阵分解在推荐系统中的强大功能,以及如何将其应用于经典机器学习环境。通过获取特征列和实例行的矩阵,通过反向传播或其他训练方法进行矩阵分解可以创建实例的低维表示,可以通过将其与 C 向量 C 矩阵相乘来恢复。这类似于主成分分析 (PCA) 等降维技术,但可以通过假设 C 的列是线性独立的来等效于 PCA,从而产生受约束的最小化问题。
01:15:00 在本节中,演讲者解释说,传统的训练测试验证方法不适用于推荐系统中使用的混合特征方法,因为保留用户特征或电影特征会导致嵌入丢失。相反,需要转导学习,其中只保留训练集标签,而不保留特征。这种方法在训练嵌入模型时非常重要,因为必须事先知道整个词汇表。但是,对于要用于训练和测试的剩余数据,仍然可以保留随机评级或链接。最后,演讲者指出,节点 ID 标记中的分类仍然可以使用整个图来完成。
slides: https://mlvu.github.io/lectures/62.Matrices.annotated.pdfcourse materials: https://mlvu.github.ioToday we discuss a variety of models that benefit fr...
00:00:00 在本节中,讲师介绍了强化学习的主题,并解释了它与离线学习的区别。强化学习涉及对与世界交互的代理进行建模,并从收到的反馈中实时学习。以未知环境中的扫地机器人为例来说明这一概念。讲师还提到了三种解决强化学习任务的算法,即随机搜索、策略梯度和Q-learning。然后讨论转向强化学习的最新发展,重点关注 AlphaGo、AlphaZero 以及通过使用 AI 在星际争霸 II 中击败世界顶级人类玩家的持续探索。
slides: https://mlvu.github.io/lectures/71.Reinforcement%20Learning.annotated.pdfcourse materials: https://mlvu.github.ioToday we discuss the most generic ab...
00:20:00 在本节中,演讲者解释说,当谈论复杂的话题时,概念就像我们头脑中的图形,但在解释它们时,它们就变成了一个序列。为了帮助重建所讨论概念之间的更高层次关系,演讲者创建了搜索和模型的思维导图。模型被分解为神经网络的特定实例,如线性回归、线性分类和逻辑回归,以及更复杂的模型,如 J by Ganz 和 v AE。演讲者还讨论了不同类型的搜索方法,梯度下降是最通用的,随机梯度下降和小批量梯度下降是特定的变体。演讲者指出,小批量梯度下降是大多数时候常用的方法。最后,演讲者讨论了处理数据的不同设置和方式,例如拆分为特征、实例和目标值的基本设置以及按特定顺序处理单独实例的序列设置。
01:15:00 在本节中,演讲者讨论了算法偏差问题,其中机器学习算法会放大数据中已经存在的偏差,而不是消除它们。这可能会对某些群体造成意想不到的后果和有害影响,例如面部识别算法无法识别有色人种以及 CEO 图片主要为男性的搜索引擎结果。演讲者还强调了监控系统的重要性,并意识到机器学习算法中固有的偏见。
slides: https://mlvu.github.io/lectures/72.Review.annotated.pdfcourse materials: http://mlvu.github.ioThe final lecture. A review of everything we've learned...
该视频介绍了 Segment Anything Model (SAM),这是一种 AI 模型,可以从图像和视频中识别和提取对象以执行各种任务。 SAM 在包含 110 亿张图像和 11 亿个掩码的庞大数据集上进行训练,在各种分割任务中具有强大的性能。该视频提供了在本地系统上使用 SAM 的分步说明,包括如何安装必要的包、下载预训练模型检查点以及使用 Python 对图像和视频执行分割。该视频还演示了如何将 SAM 与 YOLOv5 或 YOLOv8 结合使用,以在感兴趣的对象周围创建边界框。 SAM 在动画中也有潜在的应用。
00:00:00 在本节中,视频介绍了 Segment Anything Model (SAM),这是 Meta 最近发布的 AI 模型,可以从图像和视频中识别和提取对象以执行各种任务。 SAM 在 110 亿张图像和 11 亿张掩码上进行训练,在各种分割任务上具有很强的零样本泛化能力。该视频通过一个演示演示了如何使用 SAM,该演示允许用户上传图像并对完整图像执行分割或单独切割每个对象。用户还可以绘制边界框、添加遮罩和执行多重遮罩。 SAM 在动画中也有潜在的应用。该视频还提供了有关 SAM 架构、数据集可用性和常见问题的更多信息。
00:05:00 在视频的这一部分中,演示者演示了如何使用 Segment Anything Model (SAM) 为图像中的不同对象创建多蒙版。 SAM 已经在 1100 万张图像和 11 亿个掩码的数据集上进行了训练,并且在各种分割任务上具有强大的性能。演示者展示了如何选择图像、对完整图像运行分割,然后切出单独的对象。演示者还展示了如何在对象周围绘制边界框,以及如何下载和分发生成的数据。该视频最后提供了有关安装 SAM 和在 Python 中使用它的信息,包括 YOLOv5 和 YOLOv8。
YOLOv8 课程是一系列教程,指导观众使用 YOLOv8 和 Flask 创建实时对象检测 Web 应用程序。这些教程包括安装必要的软件(如 Python 和 PyCharm)、创建虚拟环境、安装包以及测试图像和网络摄像头上的对象检测。这些教程还包括将输出从张量转换为整数、标记检测到的对象以及保存带有检测的输出视频。向观众展示了如何将 YOLOv8 与 Flask 集成,以及如何在视频和实时网络摄像头源上运行实时对象检测 Web 应用程序。
在视频的第二部分,演示者演示了如何使用 Flask 和 YOLOv8 创建 Web 应用程序以在实时网络摄像头源和视频中进行对象检测,此外还展示了用于个人防护设备检测的自定义模型的训练和推理。该 Web 应用程序有一个主页、一个视频页面和一个实时网络摄像头提要页面,每个页面都有 CSS 样式,演示者浏览了用于该项目的 HTML 和 Flask 文件。该视频演示了导入数据集、准备训练 YOLOv8 模型、训练模型、分析结果以及在演示视频上测试模型的过程。总体而言,该视频为开发和测试实时对象检测 Web 应用程序提供了全面的教程。
演示者还讨论了对使用在个人防护装备 (PPE) 数据集上训练的 YOLOv8 模型的 Web 应用程序所做的更改。更改包括修改代码以根据类名称为边界框和标签矩形分配不同的颜色,并将显示边界框和矩形的置信度分数设置为 0.5 以上。演示者在视频和实时网络摄像头中演示了成功检测 PPE 物品,标志着课程的结束。
00:00:00 下一步是下载并安装 Python 和 PyCharm Community Edition。不推荐使用最新版本的 Python,因为它可能有错误和漏洞修复。我们可以下载推荐的最新发布的Python 3.8版本。 PyCharm Professional 版本提供 30 天的免费试用期,但 Community Edition 足以完成教程。下载并安装必要的软件后,我们可以创建一个任意名称的空文件夹,然后在 PyCharm 中打开它以启动项目。
00:35:00 在视频教程的这一部分中,讲师向观众展示了如何为检测到的对象添加置信度分数,将它们转换为整数,并根据它们的类 ID 对其进行标记。类 ID 由对象的类型决定,0 是人,1 是自行车,2 是汽车。讲师还演示了如何在标签周围创建一个矩形并将输出检测保存到名为 output.avi 的文件中。观众可以一帧一帧地看到实时检测,教师会向他们展示如何通过单击屏幕来停止该过程。教师还显示输出视频文件并确认结果符合预期。最后,导师宣布,在下一个教程中,他们将在 Windows 上运行 YOLOv8 并分享结果。
00:40:00 在 YOLOv8 课程的这一部分中,创建者演示了如何使用 YOLOv8 预训练权重对示例视频执行对象检测。目标是检测自行车和人,它们是 COCO 数据集的一部分。创建者展示了如何运行脚本并将文件夹重定向到指定的视频文件夹,然后成功检测到自行车、人和其他物体,如红绿灯。然后,创建者演示带有检测的输出视频保存在选定的文件夹中,显示带有标签和置信度分数的检测对象周围的边界框。创建函数视频检测以包含所有代码,并创建一个名为 last app dot Pi 的文件。
01:00:00 在本节中,视频教程着重于使用 HTML 和 CSS 进行前端设计,使用 Flask 进行后端设计来创建一个完整的 HTML 网页。该 Web 应用程序由三个不同的页面组成:主页、视频页面和实时网络摄像头源页面。主页具有页眉、内容和页脚,其中包含来自不同项目的示例结果。视频页面允许用户上传视频并对该视频运行 YOLOv8 检测。实时网络摄像头提要页面使用户能够对实时网络摄像头提要进行检测。该视频还展示了 Flask 应用程序点堆文件和三个 HTML 页面。
本视频教程重点介绍使用 YOLOv8 和深度排序算法实现实时对象分割和跟踪。具体来说,它演示了如何计算和区分进入和离开给定区域的不同子类型的车辆。该教程涵盖了各个方面,包括速度估计、方向测量以及使用 ID 和轨迹对每辆车进行精确分割和跟踪。演示者还提供了在各种 IDE 上实现此功能的必要步骤,并为其 Patreon 支持者提供了最终代码。
00:05:00 在本节中,视频教程重点介绍使用 YOLOv8 和深度排序实现分割和跟踪。 Deep sort 文件是从 Google Drive 下载的,并使用示例视频进行测试。修改脚本实现进出车辆计数,字典用于按子类型存储车辆计数。对象计数器一用于存储按子类型离开的车辆数,而检查计数器字典用于存储进入的车辆数。修改后的脚本根据车辆的子类型以及它们是进入还是离开框架来跟踪和计数车辆。
第 9 讲深度学习 2:生成模型、GAN、变分自编码器 (VAE) (MLVU2019)
9 深度学习 2:生成模型、GAN、变分自动编码器 (VAE) (MLVU2019)
该视频涵盖了与深度学习相关的各种主题,包括深度学习项目的拆分数据、迁移学习以及对生成模型的关注。演讲者探讨了使用神经网络生成随机结果和概率分布的概念,解释了训练生成器的不同方法,例如生成对抗网络和自动编码器。他们还深入研究了 GAN、条件 GAN、隐写术和自动编码器在各种机器学习应用(例如数据处理和降维)中的重要性。演讲者讨论了在没有太多标记数据的情况下对潜在空间中的数据进行高级操作,以及对变分自动编码器等替代方法的需求。
视频的第二部分探讨了变分自动编码器 (VAE),这是一种生成模型,旨在解决其他模型中常见的模式崩溃问题。两个神经网络用于将输入编码到潜在空间并将其解码回输入空间,从而优化编码和解码。演讲者将损失函数分解为 KL 散度项和预期对数似然项,可用于优化网络。解释了在 VAE 中最大化期望的挑战,并讨论了重新参数化技巧作为克服这个问题的方法。演讲者将 VAE 与 GAN 和 PCA 等其他技术进行了比较,得出的结论是,虽然 VAE 更强大,但它们也更难训练。
第 10 讲树模型和集成:决策树、AdaBoost、梯度提升 (MLVU2019)
10 个树模型和集成:决策树、AdaBoost、梯度提升 (MLVU2019)
视频的第一部分介绍了决策树,这是一种流行的用于分类和回归的机器学习模型,它通过分割实例空间并为每个部分选择一个类来工作。该视频还讨论了如何使用信息增益来训练决策树,以及修剪如何帮助减轻过度拟合。演讲者强调了将数据拆分为训练集、验证集和测试集的重要性,以确保模型之间的公平性。此外,该视频还讨论了集成学习,其中训练并组合了多个决策树或其他模型,以解决高方差和不稳定性等问题。 Boosting 也作为一种模型集成技术引入,它涉及按顺序训练分类器并重新加权数据以改进集成。最后,解释了 Adaboost 算法,该算法选择最小化损失函数的分类器来改进集成。
视频的第二部分涵盖了各种树模型和集成,包括 AdaBoost 和梯度提升。 AdaBoost 是一种流行的分类模型增强方法,它根据分类器的性能对数据实例进行加权。梯度提升涉及用常数函数初始化模型、计算残差、将新模型拟合到标记的残差并将其添加到集成中。演讲者解释了梯度提升和 AdaBoost 之间的区别,并指出集成在研究中使用不多,因为它们会混淆结果。此外,bagging 减少了方差,boosting 减少了偏差。
第 11 课时序数据:马尔可夫模型、词嵌入和 LSTM
第11章时序数据:马尔可夫模型、词嵌入和LSTM
在此视频中,演讲者讨论了机器学习中遇到的不同类型的顺序数据,例如按时间或顺序排列的数字或符号数据。他们引入马尔可夫模型、词嵌入和 LSTM 作为解决这些问题的模型。该视频概述了使用顺序数据进行训练和预测的过程,包括对特定事物进行测试之前发生的数据进行验证和训练的概念。此外,演讲者还解释了如何使用神经网络对序列进行建模,包括如何处理不同长度的序列和时间建模,以及使用时间反向传播训练递归神经网络的过程。最后,该视频涵盖了序列到标签分类的各个方面,当循环神经网络快速遗忘事物时,可以使用马尔可夫模型对其进行改进。
该视频涵盖了与顺序数据处理相关的一系列主题,包括马尔可夫模型及其局限性、长短期记忆 (LSTM) 网络及其优势、使用 LSTM 生成文本和图像、teacher forcing 技术和图像字幕。演讲者详细解释了 LSTM 结构及其包含的各种门,以及如何从这些网络中训练和采样以执行莎士比亚文本生成和图像字幕等任务。还讨论了使用嵌入层改进词级 LSTM 的重要性,以及可用于序列处理的方法范围——从更简单的模型到更强大的模型,如 LSTM。
12 个矩阵模型:推荐系统、PCA 和图形卷积
12 个矩阵模型:推荐系统、PCA 和图形卷积
在视频的第一部分,演讲者讨论了矩阵模型及其在推荐系统中的应用,可用于产品推荐、新闻故事和社交网络。推荐系统依赖于显式和隐式反馈以及辅助信息,如果设计不当,可能会被操纵以传播虚假信息。矩阵分解是一种常用的基于用户行为预测评分的方法,通过平方误差法和计算 Frobenius 范数来解决寻找 U 和 M 矩阵以使 UTM 尽可能接近 R 的优化问题。演讲者还讨论了使用梯度下降优化此问题的方法,并解释了协同过滤的梯度更新规则。此外,演讲者还介绍了改进矩阵分解模型的五种方法,包括控制用户和电影偏见、使用隐式喜欢以及合并站点信息。最后,演讲者讨论了经典机器学习环境中矩阵分解的强大功能、PCA 在矩阵分解中的扩展,以及图形模型在存储数据方面的实用性。
视频的第二部分介绍了推荐系统的各种矩阵模型,包括用于节点分类和链接预测的图形卷积。图卷积通过将邻接矩阵与原始嵌入相乘来混合节点嵌入,但这种方法在表示大型社交图方面存在局限性。传统的验证方法不适用于推荐系统中使用的混合特征模型,因此需要转导学习,其中只保留训练集标签,而不保留特征。此外,建模时间和评级数据需要考虑时间戳数据和转导学习。该视频以讲座总结和以下关于强化学习的讨论的预览作为结尾。
13 强化学习:策略梯度、Q 学习、AlphaGo、AlphaStar (MLVU2019)
13 强化学习:策略梯度、Q 学习、AlphaGo、AlphaStar (MLVU2019)
该视频介绍了强化学习及其基本组成部分,讨论了机器人杆平衡车和井字游戏等示例。演讲者深入探讨了强化学习的挑战,包括不可微函数、延迟接收奖励和信用分配问题。信用分配问题是通过随机搜索、策略梯度和 Q 学习等技术解决的,演讲者在其中解释了每种算法、其优点和局限性。更详细地讨论了 Q 学习算法,并解释了它如何使用一个大的数字表来表示 Q 值。演讲最后解释了深度 Q 学习和 AlphaGo 如何彻底改变了强化学习领域。
14 评论:归纳偏差、算法偏差、机器学习的社会影响 (MLVU2019)
14 评论:归纳偏差、算法偏差、机器学习的社会影响 (MLVU2019)
视频的第一部分全面回顾了机器学习主题,包括损失函数、深度学习系统、归纳和算法偏差,以及机器学习中的未解决问题。演讲者强调了数据科学过程中方法论和实际用例的重要性,并提供了研究和克服拖延症的技巧。演讲者还讨论了提高对机器学习概念理解的策略,并提供了进一步学习的资源。最后,该视频强调了机器学习模型中的泛化问题以及归纳偏差在提高模型性能方面的重要性。
视频的第二部分讨论了与机器学习相关的几个问题,包括归纳偏差、算法偏差和机器学习的社会影响。可以将归纳偏差构建到神经网络中,以解决因果关系、组合性和泛化问题。然而,这种方法也有局限性,包括对未建模变量的鲁棒性降低。如果机器学习模型强化了数据中的偏差,算法偏差就会长期存在。在面部识别算法无法识别有色人种或美国司法系统中使用的算法对黑人有偏见等情况下,这可能会出现问题。负责任地开发这些系统对于避免永久存在偏见和促进决策过程的公平性非常重要。
使用 Segment Anything 模型 (SAM) 在 Python 中分割图像和视频 | YOLOv5 | YOLOv8 和 SAM
使用 Segment Anything 模型 (SAM) 在 Python 中分割图像和视频 | YOLOv5 | YOLOv8 和 SAM
该视频介绍了 Segment Anything Model (SAM),这是一种 AI 模型,可以从图像和视频中识别和提取对象以执行各种任务。 SAM 在包含 110 亿张图像和 11 亿个掩码的庞大数据集上进行训练,在各种分割任务中具有强大的性能。该视频提供了在本地系统上使用 SAM 的分步说明,包括如何安装必要的包、下载预训练模型检查点以及使用 Python 对图像和视频执行分割。该视频还演示了如何将 SAM 与 YOLOv5 或 YOLOv8 结合使用,以在感兴趣的对象周围创建边界框。 SAM 在动画中也有潜在的应用。
YOLOv8 课程 - 使用 YOLOv8 和 Flask 的实时对象检测 Web 应用程序 - 网络摄像头/IP 摄像机
YOLOv8 课程 - 使用 YOLOv8 和 Flask 的实时对象检测 Web 应用程序 - 网络摄像头/IP 摄像机
YOLOv8 课程是一系列教程,指导观众使用 YOLOv8 和 Flask 创建实时对象检测 Web 应用程序。这些教程包括安装必要的软件(如 Python 和 PyCharm)、创建虚拟环境、安装包以及测试图像和网络摄像头上的对象检测。这些教程还包括将输出从张量转换为整数、标记检测到的对象以及保存带有检测的输出视频。向观众展示了如何将 YOLOv8 与 Flask 集成,以及如何在视频和实时网络摄像头源上运行实时对象检测 Web 应用程序。
在视频的第二部分,演示者演示了如何使用 Flask 和 YOLOv8 创建 Web 应用程序以在实时网络摄像头源和视频中进行对象检测,此外还展示了用于个人防护设备检测的自定义模型的训练和推理。该 Web 应用程序有一个主页、一个视频页面和一个实时网络摄像头提要页面,每个页面都有 CSS 样式,演示者浏览了用于该项目的 HTML 和 Flask 文件。该视频演示了导入数据集、准备训练 YOLOv8 模型、训练模型、分析结果以及在演示视频上测试模型的过程。总体而言,该视频为开发和测试实时对象检测 Web 应用程序提供了全面的教程。
演示者还讨论了对使用在个人防护装备 (PPE) 数据集上训练的 YOLOv8 模型的 Web 应用程序所做的更改。更改包括修改代码以根据类名称为边界框和标签矩形分配不同的颜色,并将显示边界框和矩形的置信度分数设置为 0.5 以上。演示者在视频和实时网络摄像头中演示了成功检测 PPE 物品,标志着课程的结束。
使用 YOLOv8 和 DeepSORT 进行实时对象跟踪 |车辆计数(车辆进出)
使用 YOLOv8 和 DeepSORT 进行实时对象跟踪 |车辆计数(车辆进出)
该视频演示了使用 YOLOv8 和 DeepSORT 实现实时对象跟踪以计算进出高速公路的车辆数量。演示者提供了分步指南,从克隆 GitHub 存储库、安装所需的包、设置目录和检查跟踪脚本开始。本教程涵盖了使用双端队列、预处理、非最大回归和 Deep SORT 函数来生成唯一 ID 和确定类名。演示者还解释了如何通过在屏幕上使用一条线来添加车辆计数功能,每当车辆的轨迹与这条线相交时,计数就会增加。 UI 是使用特定函数设置的。最后,演示者展示了脚本的当前输出如何检测与线的交叉点并计算进入和离开该区域的车辆。
使用 YOLOv8 进行实时对象分割和跟踪 |车辆计数(进出)
使用 YOLOv8 进行实时对象分割和跟踪 |车辆计数(进出)
本视频教程重点介绍使用 YOLOv8 和深度排序算法实现实时对象分割和跟踪。具体来说,它演示了如何计算和区分进入和离开给定区域的不同子类型的车辆。该教程涵盖了各个方面,包括速度估计、方向测量以及使用 ID 和轨迹对每辆车进行精确分割和跟踪。演示者还提供了在各种 IDE 上实现此功能的必要步骤,并为其 Patreon 支持者提供了最终代码。