【人工智能】自然语言处理方法与应用、通俗理解生成对抗网络、十大深度学习 ...

图灵汇官网

自然语言处理方法与应用

AI科技评论

2018年中国人工智能大会(CCAI 2018)于7月28日至29日在深圳举行。中国科学院院士李德毅在开幕式上表达了对未来人工智能发展的期待,认为人工智能将带来新的启迪。中国科学院院士谭铁牛也强调了理性与务实的重要性,并希望大会能为与会者提供丰富的学习体验。

在2018年中国人工智能大会(CCAI 2018)首日下午的专题论坛上,苏州大学特聘教授、国家杰出青年科学基金获得者张民发表了题为《自然语言处理方法与应用》的演讲。这场长达两小时的讲座涵盖了自然语言处理的核心方法、应用和前景,吸引了众多听众。

一、AI、自然语言和自然语言处理

人类社会的进步体现在从数据到信息、再到知识和智能的演变。自然语言处理是指用计算机处理人类的自然语言。这项技术涉及三个方面:分析和理解、生成和应用、动作。自然语言处理的方法包括算法、规则方法、统计方法、机器学习方法及深度学习方法。

二、自然语言处理的方法

自然语言处理分为外延和内涵两部分。外延包括应用,如问答、对话、机器翻译等;内涵则涵盖自然语言分析、自然语言生成和多语言处理等。

  • 分词:将句子分割成词语序列。目前主要方法有CRF和BILSTM-CRF。
  • 命名实体:主流方法包括规则系统和机器学习系统。主要挑战包括新词识别和领域知识的运用。
  • 句法分析:通过图的方法和转移的方法实现。目前主流做法是结合深度学习。
  • 语义分析:涉及浅层语义分析、逻辑语义分析和抽象语义表示分析。
  • 篇章分析:涵盖篇章结构和篇章特征的研究。
  • 自然语言生成:包括基于规则、基于知识的检索和基于深度学习的方法。每种方法各有优缺点,适用于不同的场景。

三、自然语言处理的应用

自然语言处理的应用范围广泛,包括问答、对话、机器翻译、自动摘要、机器写作、阅读理解和情感分析等。这些技术在教育、医疗、司法、金融、旅游、国防、公共安全、科技、广告、文化和出版等行业均有广泛应用。

  • 情感和情绪分析:通过问题驱动和模型驱动的方法实现。在工业界和学术界都有广泛应用。
  • 问答系统:需要解决多源异构大数据背景下的开放域问答、深度语义理解、知识库与知识图谱、多模态场景下的问答等问题。
  • 对话系统:包括高准确率的上下文篇章建模、对话状态转移模型和领域知识建模。
  • 知识图谱:涉及知识建模、知识图谱构建、知识融合、知识推理计算和知识赋能等。
  • 机器翻译:未来的发展方向包括知识建模和翻译引擎、新的翻译模型的研究和产业化需求的满足。

四、AI时代的自然语言处理

张民教授认为当前自然语言处理正处于最佳发展阶段。他表示,自然语言处理的发展离不开技术进步、产业需求和实际应用。自然语言处理的基本问题包括表示、搜索、推理和学习。张民教授强调,从数据、信息到知识和智能的融合将是未来的发展趋势。


通俗理解生成对抗网络(GANs)

来源 | 我i智能,AI研习社

前言

生成对抗网络(GAN)是近年来深度学习领域的重要进展,其核心思想是通过两个模型之间的对抗来生成逼真的数据。本文旨在浅显理解GAN,分享学习心得。

GAN的基本思想是通过两个模型——生成模型(G)和判别模型(D)——的对抗来生成逼真的数据。生成模型负责生成样本,判别模型负责判断样本的真实性。GAN的目标是使生成模型生成的样本难以被判别模型区分。

GAN的工作原理

  • 生成模型:输入噪声生成样本,目的是生成逼真的数据。
  • 判别模型:输入样本,判断样本是否真实,目的是区分生成样本和真实样本。

训练过程

  1. 初始化:生成网络和判别网络分别初始化。
  2. 训练判别网络:固定生成网络,训练判别网络使其能够区分真假样本。
  3. 训练生成网络:固定判别网络,训练生成网络使其生成的样本能够欺骗判别网络。

数学公式

GAN的目标函数可以表示为: [ min{G} max{D} V(D, G) = mathbb{E}{x sim p{text{data}}(x)}[log D(x)] + mathbb{E}{z sim pz(z)}[log (1 - D(G(z)))]. ]

进一步理解

GAN的强大之处在于能够自动学习原始数据的分布,无论分布多么复杂。通过生成模型和判别模型的对抗,GAN可以学习到数据的分布规律,生成逼真的数据。

实验

本文使用MATLAB和DeepLearnToolbox实现了GAN的基本实验。实验结果表明,通过调整参数,GAN可以生成逼真的图像。

实验总结

运行上述简单的网络时,发现网络存在不收敛、不稳定和难训练等问题。这些问题是GAN研究中的常见问题,需要通过调整参数和训练方法来解决。

提升

图像生成可以通过调整输入分布和期望分布来实现不同的任务,例如图像超分辨、图像文本描述生成等。GAN的改进方向包括度量两个分布之间的差异、设计生成器和连接输入和输出。


称霸Kaggle的十大深度学习技巧

作者 Samuel Lynn-Evans 编译自 FloydHub Blog

Fast.ai课程通过实战项目帮助学员快速掌握深度学习技巧,并在Kaggle竞赛中取得优异成绩。以下是Samuel Lynn-Evans总结的十大技巧:

1. 使用Fast.ai库

Fast.ai库是一个高效友好的深度学习工具箱,可以快速加载最新的算法实现,如带重启的随机梯度下降算法、差分学习率和测试时增强等。

python from fastai.import *

2. 使用多个学习率

在训练时,通过调整不同层的学习率来提高训练效果。首先冻结前面的层,微调后面的层,然后再应用差分学习率。

```python learn.freeze() learningrate = 0.1 learn.fit(learningrate, epochs=3)

learn.unfreeze() learningrate = [0.001, 0.01, 0.1] learn.fit(learningrate, epochs=3) ```

3. 如何找到合适的学习率

通过周期性学习率方法,逐步提高学习率,找到最佳学习率。使用lr_find()sched.plot()函数来确定最佳学习率。

python learn.lr_find() learn.sched.plot_lr() learn.sched.plot()

4. 余弦退火

通过余弦退火方法降低学习率,提高训练效果。在Fast.ai库中,使用learn.fit()函数即可实现。

python learn.fit(0.1, 1)

5. 带重启的SGD算法

通过带重启的SGD算法跳出局部最小值,找到全局最小值。使用cycle_lencycle_mult参数控制重启周期。

python cycle_len = 1 cycle_mult = 2 learn.fit(0.1, 3, cycle_len=2, cycle_mult=2)

6. 人格化你的激活函数

选择合适的激活函数,确保其适用于任务需求。例如,Softmax适合多分类任务,ReLU适合防止梯度消失。

7. 迁移学习在NLP问题中非常有效

通过预训练模型来提高NLP任务的性能。例如,通过语言建模预训练模型,再应用于情感分析任务。

8. 深度学习在处理结构化数据上的优势

通过PyTorch中的embedding函数处理分类变量,减少对特征工程的依赖。这种方法在处理结构化数据时非常有效。

9. 更多内置函数:Dropout层、尺寸设置、TTA

使用Dropout层减少过拟合,通过调整图像尺寸和测试时增强(TTA)来提高准确率。

python learn.set_data(get_data(299)) learn.fit(0.1, 3) preds, target = learn.TTA()

10. 创新力很关键

在构建成功的深度学习应用时,创新力至关重要。通过创造性地应用不同的技术,可以提升准确率和效率。


工业互联网

产业智能官  AI-CPS

通过工业互联网操作系统(云计算+大数据+物联网+区块链+人工智能),在场景中构建状态感知、实时分析、自主决策、精准执行、学习提升的机器智能和认知系统,实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。

本文来源: 图灵汇 文章作者: 李美君