少年帮|利用深度学习生成医疗报告( 四 )
我们首先将数据集分为两部分 , 一个训练数据集和一个验证数据集 。 在进行划分时 , 要确保你有足够的数据点用于训练 , 并且有足够数量的数据用于验证 。 我选择的比例允许我在训练集中有2560个数据点 , 在验证集中有1147个数据点 。
现在是时候为我们的数据集创建生成器了 。
X_train_img, X_cv_img, y_train_rep, y_cv_rep = train_test_split(dataset['Person_id'], dataset['Report'],test_size = split_size, random_state=97)def load_image(id_, report):'''加载具有相应id的图像特征'''img_feature = Xnet_Features[id_.decode('utf-8')][0]return img_feature, reportdef create_dataset(img_name_train, report_train):dataset = tf.data.Dataset.from_tensor_slices((img_name_train, report_train))# 使用map并行加载numpy文件dataset = dataset.map(lambda item1, item2: tf.numpy_function(load_image, [item1, item2],[tf.float32, tf.string]),num_parallel_calls=tf.data.experimental.AUTOTUNE)# 随机并batch化dataset = dataset.shuffle(500).batch(BATCH_SIZE).prefetch(buffer_size=tf.data.experimental.AUTOTUNE)return datasettrain_dataset = create_dataset(X_train_img, y_train_rep)cv_dataset = create_dataset(X_cv_img, y_cv_rep)
在这里 , 我们创建了两个数据生成器 , 用于训练的train_dataset和用于验证的cv_dataset。 create_dataset函数获取id(对于前面创建的特征 , 这是字典的键)和预处理的报告 , 并创建生成器 。 生成器一次生成batch大小的数据点数量 。
如前所述 , 我们要创建的模型将是一个逐字的模型 。 该模型以图像特征和部分序列为输入 , 生成序列中的下一个单词 。
例如:让“图像特征”对应的报告为“startseq the cardiac silhouette and mediastinum size are within normal limits endseq” 。
然后将输入序列分成11个输入输出对来训练模型:
注意 , 我们不是通过生成器创建这些输入输出对 。 生成器一次只向我们提供图像特征的batch处理大小数量及其相应的完整报告 。 输入输出对在训练过程中稍后生成 , 稍后将对此进行解释 。
8.编解码器模型
sequence-to-sequence模型是一个深度学习模型 , 它接受一个序列(在我们的例子中 , 是图像的特征)并输出另一个序列(报告) 。
编码器处理输入序列中的每一项 , 它将捕获的信息编译成一个称为上下文的向量 。 在处理完整个输入序列后 , 编码器将上下文发送到解码器 , 解码器开始逐项生成输出序列 。
本例中的编码器是一个CNN , 它通过获取图像特征来生成上下文向量 。 译码器是一个循环神经网络 。
Marc Tanti在他的论文Where to put the Image in an Image Caption Generator, 中介绍了init-inject、par-inject、pre-inject和merge等多种体系结构 。 在创建一个图像标题生成器时 , 指定了图像应该注入的位置 。 我们将使用他论文中指定的架构来解决我们的问题 。
在“Merge”架构中 , RNN在任何时候都不暴露于图像向量(或从图像向量派生的向量) 。 取而代之的是 , 在RNN进行了整体编码之后 , 图像被引入到语言模型中 。 这是一种后期绑定体系结构 , 它不会随每个时间步修改图像表示 。
推荐阅读
- 金戈鐵馬|特朗普力挺铁杆支持者,枪杀两人的少年没错?抗议活动不断发酵
- 开封于七一|育迎宾尚法好少年,借温柔秋风多送法
- 少年|央视要搞选秀,热搜沸了!网友提名他当导师,点赞数第一
- 暖夏少年|2020电脑硬盘销量排行榜:七彩虹加入战局,硬是打倒了金士顿
- 少年一梦|2020畅销手机排行,iPhone无人超越,安卓旗舰全线溃败
- 少年帮|进入倒计时,华为突然宣布,供应链将迎来“洗牌”?
- 深度|创意信息:与成都市大数据股份有限公司签署深度合作协议
- |西装、奶奶针织衫显老气?深度解析“衣橱单品”,多看一眼就赚了
- 少年帮|纯国产“龙芯”即将来临,正式确认?中科院宣布决定
- 上线|原创央视也搞成团选秀!《上线吧!华彩少年》有哪些优势?粉丝放心了