96、如何在堆叠自编码器中绑定权重?这样做的目的是什么?
在堆叠自编码器中绑定权重的方法
若自编码器共有 N 层(不包括输入层),用 W L 表示第 L 层的连接权重,那么解码器层的权重可定义为:
W N–L+1 = W L T ( L = 1, 2, … )
在 TensorFlow 中实现时,使用 fully_connected()
函数较繁琐,手动定义层更简单。
这样做的目的是将模型中的权重数量减半,加快训练速度并降低过拟合风险。
97、可视化堆叠自编码器较低层学习到的特征的常用技术是什么?较高层呢?
神经元激活分析方法
较高层分析
- 可考虑每个隐藏层中的每个神经元
- 找出使其激活程度最高的训练实例
较低层分析
- 权重可视化技术
- 为第一个隐藏层的每个神经元创建图像
-
像素强度对应与给定神经元连接的权重
-
自编码器激活增强方法
- 给自编码器输入随机图像
- 测量感兴趣神经元的激活程度
- 进行反向传播来调整图像,使神经元更活跃
98、什么是生成模型?你能说出一种生成式自编码器的类型吗?
生成模型是指能够随机生成与训练数据非常相似的新数据的模型。一种生成式自编码器是变分自编码器。
99、在MNIST或CIFAR10图像数据集上训练一个变分自编码器,并让它生成图像。或者,尝试找到一个感兴趣的无标签数据集,利用其生成新的样本。
若要在MNIST或CIFAR10上训练变分自编码器并生成图像,可参考以下步骤:
- 训练模型 :在MNIST上可参考已有代码,在CIFAR10上则需编写代码加载图像批次进行训练,也可使用TensorFlow模型库中的工具。
- 采样编码 :从高斯分布中随机采样编码。
- 解码生成图像 :将采样的编码输入到解码器中生成图像。
若使用无标签数据集,同样按上述步骤操作,不过要根据数据集特点调整模型参数和训练过程。
100、如何定义强化学习?它与常规的监督学习或无监督学习有何不同?
强化学习简介
强化学习是机器学习的一个领域,旨在创建能够在环境中采取行动,以随着时间推移最大化奖励的智能体。
它与常规监督学习和无监督学习的不同之处在于:
1. 目标方面
- 监督学习和无监督学习的目标通常是在数据中寻找模式。
- 而强化学习的目标是找到一个好的策略。
2. 学习方式方面
- 在监督学习中,智能体被明确告知“正确”答案。
- 而强化学习的智能体必须通过试错来学习。
- 无监督学习没有明确的监督,而强化学习通过奖励进行某种形式的监督,虽不告诉智能体如何执行任务,但会告知其何时取得进展或失败。
3. 探索与利用方面
- 强化学习智能体需要在探索环境以寻找获取奖励的新方法和利用已知的奖励来源之间找到平衡。
- 而监督学习和无监督学习系统通常不需要担心探索,只需处理给定的训练数据。
4. 数据独立性方面
- 监督学习和无监督学习的训练实例通常是独立的。
- 而强化学习中连续的观察通常不是独立的,智能体可能在环境的同一区域停留一段时间。
- 因此连续观察具有很强的相关性,有时会使用回放记忆来确保训练算法获得相对独立的观察。
101、请想出三个强化学习可能的应用。对于每个应用,说明环境是什么,智能体是什么,可能的动作有哪些,奖励是什么。
-
音乐个性化 :
- 环境 :用户的个性化网络电台
- 智能体 :为用户决定下一首播放歌曲的软件
- 可能的动作 :播放曲库中的任何歌曲或播放广告
- 奖励 :- 用户每听一首歌:获得小奖励
- 用户每听一次广告:获得更大奖励
- 用户跳过歌曲或广告:获得负奖励
- 用户离开:获得非常负的奖励
-
营销 :
- 环境 :公司的营销部门
- 智能体 :根据客户资料和购买历史,确定邮件营销活动应发送给哪些客户的软件
- 可能的动作 :对每个客户发送或不发送
- 奖励 :- 邮件营销活动的成本:负奖励
- 活动产生的估计收入:正奖励