78、创建一个每个类别至少包含100张图像的训练集。例如,你可以根据位置(海滩、山脉、城市等)对自己的图片进行分类,或者你也可以使用现有的数据集,如花卉数据集或麻省理工学院的地点数据集(需要注册,而且规模很大)。
创建训练集任务要求
你可以按照以下两种方式操作:
- 根据位置对自己图片分类创建;
- 使用花卉数据集或麻省理工学院的地点数据集等现有数据集。
79、将你的数据集划分为训练集和测试集。在训练集上训练模型,并在测试集上评估模型。
评估模型泛化能力的方法
这是一种常见且有效的评估模型泛化能力的方法。
将数据集按一定比例(如常见的 80% 训练集、20% 测试集)划分为训练集和测试集,使用训练集的数据来训练模型,使模型学习数据中的模式和规律。
然后使用测试集的数据来评估模型,通过计算测试集上的误差率(即泛化误差),可以了解模型在未见过的数据上的表现。
若训练误差低但泛化误差高,说明模型可能过拟合了训练数据。
80、Go through TensorFlow’s DeepDream tutorial. It is a fun way to familiarize yourself with various ways of visualizing the patterns learned by a CNN, and to generate art using Deep Learning.(请翻译这句话)
学习TensorFlow的DeepDream教程
这是一种有趣的方式,能让你熟悉用各种方法可视化卷积神经网络(CNN)学到的模式,并利用深度学习创作艺术作品。
81、你能想出一些序列到序列的循环神经网络(RNN)的应用吗?序列到向量的RNN呢?向量到序列的RNN呢?
RNN 应用分类
序列到序列的应用
- 预测天气(或其他时间序列)
- 机器翻译(使用编码器 - 解码器架构)
- 视频字幕
- 语音转文本
- 音乐生成(或其他序列生成)
- 识别歌曲和弦
序列到向量的应用
- 按音乐流派分类音乐样本
- 分析书评的情感
- 根据脑植入物读数预测失语患者所想的单词
- 根据用户的观看历史预测用户观看电影的概率
向量到序列的应用
- 图像字幕
- 根据当前艺术家的嵌入创建音乐播放列表
- 根据一组参数生成旋律
- 在图片中定位行人(如自动驾驶汽车相机的视频帧)
82、为什么人们在自动翻译中使用编码器 - 解码器循环神经网络(Encoder–Decoder RNNs),而不是普通的序列到序列循环神经网络(plain sequence-to-sequence RNNs)?
因为句子的最后几个单词会影响翻译的第一个单词,所以需要在听完整个句子后再进行翻译。编码器 - 解码器这种两步模型比使用单个序列到序列循环神经网络即时翻译效果要好得多。
83、如何将卷积神经网络与循环神经网络结合以对视频进行分类?
一种可能的架构是每秒取一帧,将每一帧输入卷积神经网络(CNN),把CNN的输出输入序列到向量的循环神经网络(RNN),最后将RNN的输出通过一个 softmax 层,得到所有类别的概率。
训练时使用交叉熵作为损失函数。
若想同时使用音频进行分类,可将每秒的音频转换为频谱图,输入另一个 CNN,再将该 CNN 的输出与前一个 CNN 的对应输出一起输入 RNN。
84、使用 dynamic_rnn() 而非 static_rnn() 构建循环神经网络(RNN)有哪些优势?
-
dynamic_rnn()使用while_loop()操作,在反向传播时可设置swap_memory=True,将 GPU 内存交换到 CPU 内存以避免内存溢出(OOM)错误; - 它接受每个时间步的所有输入的单个张量(形状为
[None, n_steps, n_inputs]),并输出每个时间步的所有输出的单个张量(形状为[None, n_steps, n_neurons]),无需堆叠、解堆叠或转置。
85、如何处理可变长度的输入序列?可变长度的输出序列又该如何处理?
处理可变长度输入序列时,调用 dynamic_rnn() (或 static_rnn() )函数时应设置 sequence_length 参数,它必须是一个一维张量,指示每个实例的输入序列长度。对于较短的输入,需用零向量填充以适应输入张量。
处理可变长度输出序列时,若提前知道每个输出序列的长度,可使用 sequence_length 参数;若不知道,可使用填充技巧,即始终输出相同大小的序列

最低0.47元/天 解锁文章
3256

被折叠的 条评论
为什么被折叠?



