分类
机器学习及应用

如何解决神经网络训练时loss不下降的问题

当我们训练一个神经网络模型的时候,我们经常会遇到这样的一个头疼的问题,那就是,神经网络模型的loss值不下降,以致我们无法训练,或者无法得到一个效果较好的模型。导致训练时loss不下降的原因有很多,而且,更普遍的来说,loss不下降一般分为三种,即:训练集上loss不下降,验证集上loss不下降,和测试集上loss不下降。这里,首先默认各位都能理解过拟合和欠拟合的概念,如果有不清楚的可以参考下面的一些文章。

分类
机器学习及应用

ASVRG:一个更好的加速近端SVRG

ASVRG是由西安电子科技大学一科研团队于近期新提出来的一个加速的近端随机变量减小的梯度方法,通过设计一个简单高效的动量加速技巧,只添加一个额外的变量和一个动量参数,使得其拥有了一个更简单且所需的训练迭代数更少的加速效果。并且,ASVRG被证明可以实现强凸和非强凸目标的最著名的oracle复杂性,此外,还可以扩展到小批量和非平滑设置。作者在论文中,还凭经验验证了理论结果,并表明ASVRG的性能与最先进的随机方法相当,有时甚至更好。

分类
机器学习及应用

分布式机器学习:新书推荐和介绍

博主前一段时间在其他人的推荐下,入手了近期新出的一本名为《分布式机器学习:算法、理论与实践》的书。这是一本全面介绍分布式机器学习的现状,深入分析其中的核心技术问题,并讨论分布式机器学习领域未来的发展,不可多得的好书。这本书是基于微软亚洲研究院机器学习研究团队多年的研究成果和实践经验编写成的,可为研究生从事分布式机器学习方向研究提供参考文献,也可为人工智能从业者提供算法选择和系统设计的指导。

分类
ASRT 智能语音技术 机器学习及应用 长期更新的内容

几个最新免费开源的中文语音数据集

工欲善其事必先利其器,做机器学习,我们需要有利器,才能完成工作,数据就是我们最重要的利器之一。做中文语音识别,我们需要有对应的中文语音数据集,以帮助我们完成和不断优化改进项目。我们可能很难拿到成千上万小时的语音数据集,但是这里有一些免费开源的语音数据集,大家一定不要错过。文末附数据集下载地址。我们也非常感谢相关单位和团体为国内的开源界做出的贡献。

共20份数据集,2022年5月6日持续更新~

分类
机器学习及应用

神经网络: 正向传播与反向传播

在进行深层神经网络的计算过程中,现在主流框架(比如TensorFlow、Pytorch、MXNet等)提供了自动求导函数,极大地简化了深度学习模型训练算法的实现。但求导,又称反向传播(back-propagation),是Deep Learning中的一个重要概念,所以在这一篇文章中主要用数学和计算图两个方式来描述正向传播和反向传播。我们将使用一个带有L2范数正则化的单隐藏层感知机为例解释正向传播和反向传播。

分类
机器学习及应用

浅谈深度学习:如何计算模型以及中间变量的显存占用大小

前言

亲,显存炸了,你的显卡快冒烟了!

torch.FatalError: cuda runtime error (2) : out of memory at /opt/conda/conda-bld/pytorch_1524590031827/work/aten/src/THC/generic/THCStorage.cu:58

想必这是所有炼丹师们最不想看到的错误,没有之一。

OUT OF MEMORY,显然是显存装不下你那么多的模型权重还有中间变量,然后程序奔溃了。怎么办,其实办法有很多,及时清空中间变量,优化代码,减少batch,等等等等,都能够减少显存溢出的风险。

但是这篇要说的是上面这一切优化操作的基础,如何去计算我们所使用的显存。学会如何计算出来我们设计的模型以及中间变量所占显存的大小,想必知道了这一点,我们对自己显存也就会得心应手了。

本文转载自:Oldpan的个人博客
浅谈深度学习:如何计算模型以及中间变量的显存占用大小(https://oldpan.me/archives/how-to-calculate-gpu-memory)

分类
ASRT 后端开发 智能语音技术 机器学习及应用

ASRT:一个中文语音识别系统

ASRT是一套基于深度学习实现的语音识别系统,全称为Auto Speech Recognition Tool,由AI柠檬博主开发并在GitHub上开源(GPL 3.0协议)。本项目声学模型通过采用卷积神经网络(CNN)和连接性时序分类(CTC)方法,使用大量中文语音数据集进行训练,将声音转录为中文拼音,并通过语言模型,将拼音序列转换为中文文本。算法模型在测试集上已经获得了80%的正确率。基于该模型,在Windows平台上实现了一个基于ASRT的语音识别应用软件,取得了较好应用效果。这个应用软件包含Windows 10 UWP商店应用和Windows 版.Net平台桌面应用,也一起开源在GitHub上了。

分类
机器学习及应用

关联分析:关联规则挖掘应用实例

在上一篇文章中,我们主要是写到了关联分析的概念和一些挖掘算法的原理,在本篇文章中我们将以一个应用实例来简介一下挖掘算法是怎么实现和起作用的。我们以一次美国国会投票记录作为案例,使用Apriori算法,支持度设为30%,置信度为90%,挖掘出高置信度的规则。

分类
机器学习及应用

关联分析:关联规则挖掘算法

关联规则挖掘是数据挖掘领域中的一个非常重要的研究内容,其主要目标就是发现数据库中一组对象之间某种有意义的联系,所发现的联系可用关联规则或频繁项集来表示。频繁集的挖掘是关联规则挖掘的关键步骤,它在很大程度上决定了关联规则挖掘的效率。本文将介绍关联规则挖掘的算法,并使用例子来实际演示如何进行关联规则的挖掘。

分类
机器学习及应用

机器学习:数据集的划分

我们都知道,机器学习需要大量的数据来训练模型,尤其是训练神经网络。在进行机器学习时,数据集一般会被划分为训练集和测试集,很多时候还会划分出验证集(个别人称之为开发集)。但是很多新手,尤其是刚刚接触到机器学习的人,往往对数据集的划分没有概念,甚至有的人把训练后得到的模型在训练数据上取得的正确率当做是实际正确率来说了,然后各种被怼。有人在答辩时说自己训练的模型正确率100%,在座的老师面面相觑,最后结果可想而知。所以我们需要搞清楚数据集的划分,以及训练集、验证集和测试集的区别和作用。