自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万宫玺的专栏

会点算法,会点大数据的码农小白~

  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 Deeplearning4j 实战 (22):基于DSSM的语义匹配建模

DSSM是一个经典的双塔模型,但其也有明显的缺点,就是两个塔之间是独立的,没有信息的交叉。这种信息的交叉对应推荐场景来说是很重要的。DSSM论文中的结构比较简单,是MLP为主,且输入层使用词袋模型进行处理,这其实忽略的上下文的语义信息,因此我们在实现的时候,使用LSTM模型来捕获序列的完整语义信息。当然,由于时间原因,我们这边并没有做分词处理,相信经过分词处理,在LCQMC数据集上的准确率可以进一步得到提升。另外,双塔的结构可以很灵活,内部可以直接上BERT来做,这里变体就太多,不做过多陈述了。

2023-12-31 23:59:07 1026

原创 Deeplearning4j 实战 (13-2):基于Embedding+CNN的文本分类实现

本文使用Embedding+CNN结构进行文本分类的工作,在之前实现TextCNN博客的基础上,内嵌Embedding层,实现端到端的建模。交叉验证结果接近于TextCNN论文给到的指标。

2022-10-17 13:43:43 1357 1

原创 Spark MLlib 源码学习---线性回归模型(LinearRegression)

Spark的机器学习库MLlib应该是自己接触的第二个分布式机器学习库,第一个是Mahout。MLlib本身提供了常用的分类和回归算法,还有特征提取与频繁项集的一些数据挖掘算法,因此构建数据清洗+数据建模的pipeline是比较方便的。当然,作为构建于Spark计算引擎之上的算法应用也自然比Mahout高效不少。目前Spark已经到了3.x的版本,但是MLlib的更新迭代并不是很快。但这没关系,有很多第三方的算法应用可以拿来使用,包括intel的一些库还有github上独立的一些repo,这个后续会逐步介绍

2021-10-08 09:31:42 1127

原创 Spark MLlib 源码学习---朴素贝叶斯模型(Naive Bayes)

朴素贝叶斯是机器学习中比较常用的一种模型,尤其在结合了词袋模型的文本分类问题上,往往有着出色的分类效果。据了解,很多公司基于文本分类的应用像垃圾邮件分类等都采用朴素贝叶斯或者贝叶斯网络来进行。朴素贝叶斯本身训练速度快,预测结果容易解释等都是该模型的优点。但缺点也很明显,主要就是在于“朴素”二字,即假设各个维度的特征是条件独立的。目前,很多的机器学习开源项目基本都支持了朴素贝叶斯,当然也包括了下面要介绍的Spark ML/MLLIB的算法包。不过,先具体介绍应用之前,还是先讲下内在的理论,这样到源码分析的时候

2021-10-08 09:29:09 864

原创 Deeplearning4j 实战 (21):Bert简介及NLP问题应用

在上一篇博客中,我们介绍了attention机制的基本原理以及如何基于Deeplearning4j中内置的attention layer对文本之类的序列数据进行建模的过程。这篇博客在上一篇的基础上,介绍下2019年Google的研究成果,同样也是和attention机制有关的Bert模型。在Google的论文中介绍,Bert模型在GLUE数据集上都达到的当时的历史最佳。当然后续改进的一些工作也逐步的在指标上超越了Bert,其中就有国内百度公司的工作ERNIE,但Bert构建NLP语言模型的方式方法还是非常值

2020-06-12 16:59:58 1942 2

原创 Deeplearning4j 实战 (20):Attention机制在文本分类中的应用

在之前的文章中,我们介绍过如何基于LSTM来进行情感识别的任务。从本质上来说,LSTM可以用于提取整段文本的语义信息,然后对最后一个LSTM Cell输出的结果进行业务层面的分类建模即可。在工业界的实际尝试中,尤其对于短文本,这种建模方式本身可以作为baseline甚至可以经过精心的调优达到生产环境的精度要求。但是RNN结构有其自身的一些缺点。比如,长距离依赖导致头部的信息丢失,容易在BPTT算法执行的时候发生梯度的弥散等问题。当然一些改进的RNN结构,包括上面提到的LSTM和GRU等等可以缓解此类问题,但

2020-05-20 09:27:58 2336

原创 Deeplearning4j 实战 (19):基于胶囊网络(Capsule Network)的手写体数字识别

CapsNet(Capsule Network)最早是在2017年由G.Hinton教授及其团队提出的。之后,几乎以每年一更新的频率推出优化版本。CapsNet引起人们的关注的原因主要在于Hinton教授对于在机器视觉领域大放异彩的卷积神经网络(CNN)的运行机制和原理有不同看法,并表示CNN存在明显不同于人类大脑感知机制的缺陷。以图像为例,Hinton教授认为CNN无法感知局部特征之间存在的相对...

2020-03-28 21:50:01 1981 1

原创 推荐序:《Deeplearning4j 快速入门》课程,深度学习必备秘籍

从 1956 年 Dartmouth 学会上提出的“人工智能”一词,到时下火热的人脸识别技术、车牌识别技术、智能语音应答,再到未来汽车发展趋势的自动驾驶技术,“人工智能”已然成为了科技未来的发展大势。对于广大 IT 行业从业人员而言,单纯地掌握 Java 等软件编程技术是远远不够的,学习 Deeplearning4j 技术就成为了进军“人工智能”行业的敲门砖。作为 Skymind 在亚洲的 CTO...

2020-09-22 12:08:45 883

原创 第01课:Windows、Linux 开发环境的搭建

在上一课中介绍了开源深度学习框架 Deeplearning4j 的相关内容,从本节课开始,我们将逐步讨论 Deeplearning4j 的使用,先来介绍如何在 Windows 以及 Linux 上搭建相应的开发环境。本节课核心内容包括:Deeplearning4j on WindowsDeeplearning4j on Linux首先,在 Windows/Linux/Mac 系统上,操作...

2020-09-22 12:08:43 474

原创 开篇词:基于 Java 的深度学习框架及其生态圈

随着深度学习在语音、图像、自然语言等领域取得了广泛的成功,越来越多的企业、高校和科研单位开始投入大量的资源研发 AI 项目。同时,为了方便广大研发人员快速开发深度学习应用,专注于算法应用本身,避免重复造轮子的问题,各大科技公司先后开源了各自的深度学习框架,例如:TensorFlow(Google)、Torch/PyTorch(Facebook)、Caffe(BVLC)、CNTK(Microsoft...

2020-09-22 12:08:41 785

原创 第02课:DeepLearning4j 开发的基本流程

前面的课程介绍了在 Windows 和 Linux 系统下,Deeplearning4j 开发环境的搭建。在此基础上,我们将进一步介绍 Deeplearning4j 开发的基本流程。本节课核心内容包括:单 CPU 环境多 CPU 环境分布式 Spark 环境对于机器学习应用来说,数据预处理、模型的训练和验证、模型的部署上线是几个标准的流程,Deeplearning4j 框架的开发流程同...

2020-09-22 12:08:40 830

原创 第03课:多层感知机在结构化数据中的应用实现

从本节课开始,我们将逐一介绍 Deeplearning4j 基于主流神经网络结构在分类、回归等机器问题上的实例应用。这一课将介绍多层感知机(MLP)在结构化数据集上构建分类和回归模型的例子。在给出具体的实例之前,先简单介绍下多层感知机的相关信息及特点。本节课核心内容包括:MLP 在分类问题中的应用MLP 在回归问题中的应用3.1 简介如果回顾神经网络的发展历史,早期的神经网络其实是没有...

2020-09-22 12:08:38 496

原创 第04课:自编码器在数据压缩中的应用实现

本节课我们将介绍如何使用神经网络对数据进行降维和特征提取,主要采用的方案是基于自监督学习的 AutoEncoder。本节课核心内容包括:降噪自编码器(DAE)基于深度信念网络的自编码器变分自编码器自编码器的用途比较广泛,比如:数据的压缩、检索、高效传输、深层网络的预训练等。由于 AutoEncoder 的具体实现方式很多,限于篇幅,我们介绍最常用的三种自编码器:变分自编码器、降噪自编码...

2020-09-22 12:08:37 762

原创 第05课:CNN 在机器视觉中的应用——图像分类

从本节课开始,我们将陆续为大家介绍在工业界使用较多的几种神经网络结构。首先介绍的是卷积神经网络(Convolution Neural Network,CNN)。本节课核心内容包括:卷积神经网络发展历史回顾卷积与池化卷积神经网络的应用(图像分类)卷积一词来源于信号处理领域。以 1D 信号为例,f(x) 和 g(x) 分别代表两个信号源输出的信号,则 f(x) 和 g(x) 的卷积可以表示...

2020-09-22 12:08:35 1309

原创 第06课:CNN 在机器视觉中的应用——目标检测

在上一节课中,我们介绍了卷积神经网络发展的历史以及图像分类的应用。本节课的内容将在上一节课的基础上,为大家介绍机器视觉中另一类经典案例——目标检测。本节课核心内容包括:卷积神经网络的应用:图像目标检测滑动窗口算法基于卷积神经网络的算法目前基于深度神经网络的目标检测模型有:YOLO 系列、SSD、R-CNN 系列等。本节课我们将为大家介绍这些算法的基本原理并结合目前 Deeplearni...

2020-09-22 12:08:34 684

原创 第07课:RNN 在序列问题中的应用——文本分类

本节课我们介绍另一种常用的神经网络结果——循环神经网络(Recurrent Neural Network,RNN)。需要注意的是,RNN 可以是两种神经网络的缩写,一种是本次课程讨论的 Recurrrent Neural Network,另一种则是 Recursive Neural Network,也称递归神经网络。前者是时间递归的神经网络,而后者是结构递归。在下文中,如果不特别说明,RNN 都代...

2020-09-22 12:08:32 506

原创 第08课:RNN 在序列问题中的应用——文本生成

在上一节课的内容中,我们介绍了循环神经网络(Recurrent Neural Network)的相关内容,并根据 Many-to-One 的结构给出了基于 Deeplearning4j 的文本分类实例。本节课核心内容包括:基于 One-to-Many 架构的文本生成应用在本次的课程中,我们将介绍另外一种结构:One-to-Many,并且我们将基于这种结构给出文本自动生成的例子。下面我就将文...

2020-09-22 12:08:30 308

原创 第09课:RNN 在序列问题中的应用——序列标注

在前两节课的内容中,我们介绍了循环神经网络及变种的基本原理,并介绍了 Many-to-One 和 One-to-Many 两种架构下,如何基于 Deeplearning4j 进行文本分类和文本生成的应用。本节课开始,我们将继续为大家介绍另外一种架构,Many-to-Many 在序列标注和机器翻译问题中的应用。这两类问题是 NLP 中的经典问题。尤其对于序列标注问题来说,分词、实体识别、句法分析都...

2020-09-22 12:08:29 375

原创 第10课:RNN 在序列问题中的应用——机器翻译

上一节课我们介绍了 Many-to-Many 在序列标注问题中的应用,在 RNN 部分的最后一节课中,我们来介绍另一种 Many-to-Many 的架构。本节课核心内容包括:基于 Many-to-Many 架构的机器翻译应用10.1 基于 Many-to-Many 架构的机器翻译应用Many-to-Many 结构的输出具有一定的滞后性,常用于机器翻译、QA 问答模型之中。比较典型的就是 ...

2020-09-22 12:08:28 428

原创 第11课:词句分布式表达——词建模工具

下面两节课我将为大家介绍,如何基于 Deeplearning4j 的框架来实现词和句子的分布式/向量化建模。目前 Deeplearning4j 支持对词建模的 word2vec、GloVe,对文档建模的 doc2vec/paragraph2vec,以及对图结构进行建模的 DeepWalk 算法。在具体介绍这些建模工具之前,我们首先回顾下对文本建模的一些手段。本节课核心内容包括:文本建模的词袋和...

2020-09-22 12:08:26 197

原创 第12课:词句分布式表达——句建模工具

在上一次的课程中,我们为大家介绍了词嵌入的两种算法:word2vec 和 GloVe。我们以实例的方式给出了 Deeplearning4j 的应用构建方式及部分实验结果。本次课程我们将以同样的方式为大家介绍句向量的建模工具——doc2vec/paragraph2vec,以及图嵌入的算法 DeepWalk。首先我们来看下doc2vec的原理和实例构建方式。本节课核心内容包括:doc2vec 的原...

2020-09-22 12:08:25 155

原创 第13课:Spark 分布式模型训练及调优(原理)

本节课程为大家介绍 Deeplearning4j 在 Apache Spark 上构建分布式深度学习模型的方式与底层机制。本节课的核心内容包括:Apache Spark 简介深度学习的并行与分布式建模Deeplearning4j 是原生支持在 Spark 上建模的开源库之一,同样原生支持的还有 Intel BigDL、SparkNet、H2O 等。像 Caffe 和 TensorFlow...

2020-09-22 12:08:23 588

原创 第14课:Spark 分布式模型训练及调优(实战)

上节课已经为大家介绍了 Apache Spark 项目的基本情况,以及分布式深度神经网络的解决方案。这节课我们将给出一个 Deeplearning4j+Spark 的建模实例,包括从配置 Maven 工程开始到本地的原型验证,以及集群上的模型训练。由于 ND4J 的张量运算是通过 JavaCPP 技术,诸如 OpenBLAS 开源库来调用实现的,因此我们也将就内存的调优进行介绍。下面我们首先介绍下...

2020-09-22 12:08:21 1414

原创 第15课:多 GPU 环境下的模型训练

本节课将为大家介绍如何基于 GPU 加速 Deeplearning4j 的建模过程。首先我们将为大家介绍异构计算的基本框架和原理,包括主流的 GPU 供应商英伟达各系列显卡的相关情况;接着,结合 Deeplearning4j 的具体情况,我们将讲解如何在使用单 GPU 和多 GPU 情况下加速训练过程的相似步骤;最后,我们会介绍一些调优的手段并对本节课做下总结。本节课核心内容包括:异构计算框架...

2020-09-22 12:08:20 280

原创 第16课:迁移学习的模型训练

本次课程我们为大家介绍一种新的构建模型方式——迁移学习(Transfer Learning)。迁移学习是解决标注数据缺失、从已有模型快速构建新应用的有效手段。迁移学习旨在于不同领域之间进行经验、知识、技能的转移,无需每次都从头学习全新的知识。目前,基于神经网络的迁移学习已经在图像、文本等领域取得了很多的研究成果,在工业界也有落地,本次课程我们在介绍迁移学习相关理论的基础上,结合 Deeplearn...

2020-09-22 12:08:18 1047

原创 第17课:强化学习的模型训练

在之前的课程中,我们为大家介绍的机器学习实例大部分都属于监督学习或者无监督学习。例如图像的分类和目标检测属于监督学习,而词嵌入课程中的 word2vec 和 GloVe 都属于无监督学习。在本次课程中,我们将为大家介绍另一种机器学习的方式——强化学习(Reinforcement Learning)。本节课核心内容包括:强化学习简介强化学习的实现方式与基本原理基于 RL4J 的 CartPo...

2020-09-22 12:08:17 1995

原创 第18课:搭建在线服务环境

本次的课程主要介绍模型的部署上线。Deeplearning4j 支持将模型持久化后结合诸如 Spark Streaming、Flink 等流式计算框架提供实时或者准实时的预测服务,也可以和 Java Web 技术整合通过 Web 容器对外提供服务。这几种方式在实际的生产环境中都有比较广泛的使用,一般都根据实际的技术和业务背景来做选择。课程中我们将分别就这两种上线方式给出具体的案例。另外,对于离线的...

2020-09-22 12:08:15 170

原创 第19课:DL4J 对其他深度学习框架的支持

从本节课开始,我们将介绍 Deeplearning4j 的一些扩展特性。首先在本次课程中,我们将为大家介绍 Deeplearning4j 对 Keras 和 TensorFlow 的支持情况,以及如何将这两个框架下训练好的模型导入到 Deeplearning4j 中。在系列课程的第一课中,我们就谈到 Deeplearning4j 可以通过 Keras 这样的胶水框架来提供对诸如 Caffe、Th...

2020-09-22 12:08:14 229

原创 第20课:DL4J 建模进阶

在之前的课程中,我们为大家先后介绍了 MLP、DBN、CNN、RNN 等网络结构的建模,我们的网络输入也从结构化数据拓展到图片、文本等复杂的非结构化数据。其实现实应用中的很多问题,往往不会从单一维度进行建模,很多时候我们需要同时考虑视觉、听觉等多维度的信息特征甚至基于这些信息同时完成多个目标的学习,而非单一目标。这些应用场景相对于之前我们介绍的问题会复杂一些,使用 Deeplearning4j 落...

2020-09-22 12:08:12 290

原创 结语:深度学习的进化

本次课程是该系列课程中的最后一课。在本次课程中,我们将从宏观的角度来讨论人工智能的相关问题,包括人工智能与深度学习的关系、人工智能未来的应用前景等。目前我们所谈论的人工智能这一概念可以追溯到 1956 年达特茅斯会议,当时与会的人有香农、明斯基等人。虽然受限于历史原因,达特茅斯会议并没有讨论出太多具有实质性意义的规划或者科学技术,但是与会人基本都认同会议的主题是关于机器模仿人的,由此人工智能(A...

2020-09-22 12:08:11 316

原创 Deeplearning4j 实战 (18):基于DQN的强化学习在自定义迷宫游戏问题中的建模

在之前写的博客系列中,我们已经有谈到关于强化学习的相关内容。具体来讲,当时是基于RL4j并结合OpenAI提供的Gym这个开源的强化学习工具来训练了一个可以玩Cartpole游戏的DQN模型。由于Cartpole问题中的建模要素都是由Gym来提供的,因此除非debug源码,否则是无法了解这个问题涉及的action space以及state space。进一步,如果想结合自身的业务来使用强化学习模型...

2019-12-18 15:21:48 3013 13

原创 Deeplearning4j 实战 (17):基于SameDiff自动微分工具的CNN建模

Eclipse Deeplearning4j GitChat课程:https://gitbook.cn/gitchat/column/5bfb6741ae0e5f436e35cd9fEclipse Deeplearning4j 系列博客:https://blog.csdn.net/wangongxiEclipse Deeplearning4j Github:https://github.com...

2019-11-30 16:46:01 710 2

原创 Deeplearning4j 实战 (16):FastText在监督学习和无监督学习中的应用

在Deeplearning4j 1.0.0-beta5的版本中NLP模块开始支持FastText模型。在这之前的版本中,已经支持的embedding算法有Word2Vec、Glove、Doc2Vec以及Graph Embedding。这些模块的使用在我的GitChat CSDN达人课中有详细讲解,有需要的开发人员可以参考。FastText是Word2Vec的作者Tomas Mikolov在Fac...

2019-11-03 18:44:18 2753

原创 Deeplearning4j 实战 (15):SameDiff自动微分工具可视化

在上一篇的博客中,我们介绍了如何利用Deeplearning4j/ND4j提供的自动微分工具SameDiff来实现线性回归模型。SameDiff的建模类似1.x版本的Tensorflow,是基于张量的OP操作来进行的。基于OP的建模并不像基于Layer那样对神经网络进行分层,甚至开发人员可以抛弃网络层次的概念只关注对张量进行各种计算变换即可。但当神经网络的结构逐渐复杂之后,这种方式可能更容易出错,...

2019-10-23 19:37:14 790

原创 Deeplearning4j 实战 (14):基于SameDiff自动微分工具的线性回归建模

Eclipse Deeplearning4j GitChat课程:https://gitbook.cn/gitchat/column/5bfb6741ae0e5f436e35cd9fEclipse Deeplearning4j 系列博客:https://blog.csdn.net/wangongxiEclipse Deeplearning4j Github:https://github.com/e...

2019-09-26 23:52:31 1068

原创 Deeplearning4j 实战 (13):基于TextCNN的文本分类实现

Eclipse Deeplearning4j GitChat课程:https://gitbook.cn/gitchat/column/5bfb6741ae0e5f436e35cd9fEclipse Deeplearning4j 系列博客:https://blog.csdn.net/wangongxiEclipse Deeplearning4j Github:https://github.com/e...

2019-04-19 22:13:44 3981 6

转载 Eclipse Deeplearning4j GitChat达人课介绍

作者:万宫玺随着机器学习、深度学习为主要代表的人工智能技术的逐渐成熟,越来越多的 AI 产品得到了真正的落地。无论是以语音识别和自然语言处理为基础的个人助理软件,还是以人脸识别为基础的刷脸付费系统,这些都是 AI 技术在现实生活中的实际应用。应当说 AI 正在走进千家万户,来到你我的身边。另一方面,从研发角度来讲,AI 产品的落地并不是一件容易的事情:AI 技术数学理论要求高,数理统计、神...

2018-12-19 12:00:24 507

原创 Deeplearning4j 实战 (12):Mnist替代数据集Fashion Mnist在CNN上的实验及结果

Eclipse Deeplearning4j GitChat课程:https://gitbook.cn/gitchat/column/5bfb6741ae0e5f436e35cd9fEclipse Deeplearning4j 系列博客:https://blog.csdn.net/wangongxiEclipse Deeplearning4j Github:https://github.com/e...

2017-11-08 09:45:23 6357 10

原创 Deeplearning4j 实战 (11):基于Nd4j的线性回归模型的实现

Eclipse Deeplearning4j GitChat课程:https://gitbook.cn/gitchat/column/5bfb6741ae0e5f436e35cd9fEclipse Deeplearning4j 系列博客:https://blog.csdn.net/wangongxiEclipse Deeplearning4j Github:https://github.com/e...

2017-10-17 19:55:53 4488

原创 Deeplearning4j源码研习(1): BP算法原理及源码实现

Eclipse Deeplearning4j GitChat课程:https://gitbook.cn/gitchat/column/5bfb6741ae0e5f436e35cd9fEclipse Deeplearning4j 系列博客:https://blog.csdn.net/wangongxiEclipse Deeplearning4j Github:https://github.com/e...

2017-08-18 01:05:47 1803 1

开源数据集Fashion Mnist(JPG格式)

开源数据集Fashion Mnist的JPG格式图片的压缩包,包含了60000张训练图片和10000张测试图片。githubl链接:https://github.com/zalandoresearch/fashion-mnist

2018-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除