复赛 0.921, 46 名
影像科医生在工作时会观察医学影像(如 CT、核磁共振影像),并对其作出描述,这些描述中包含了大量医学信息,对医疗 AI 具有重要意义。本任务需要参赛队伍根据医生对 CT 的影像描述文本数据,判断身体若干目标区域是否有异常以及异常的类型。初赛阶段仅需判断各区域是否有异常,复赛阶段除了判断有异常的区域外,还需判断异常的类型。判断的结果按照指定评价指标进行评测和排名,得分最优者获胜。
-
输入(文本)
观察医学影像的描述(脱敏),例如:"右下肺野见小结节样影与软组织肿块影" -> "101 47 12 66 74 90 0 411 234 79 175 ..."
-
输出(两类多标签) 例如:"4,1 2"
- 异常区域(region),17 类 例如: "4,1"
- 异常类别(type),12 类 例如:"2"
-
评估标准
- 异常区域(region) mlogloss
- 异常类别(type) 删除无异常数据后的 mlogloss
- 模型结构如下表
- 5 折求平均
Model: "model"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_1 (InputLayer) [(None, 90)] 0
__________________________________________________________________________________________________
embedding (Embedding) (None, 90, 180) 180000 input_1[0][0]
__________________________________________________________________________________________________
gaussian_noise (GaussianNoise) (None, 90, 180) 0 embedding[0][0]
__________________________________________________________________________________________________
spatial_dropout1d (SpatialDropo (None, 90, 180) 0 gaussian_noise[0][0]
__________________________________________________________________________________________________
dropout (Dropout) (None, 90, 180) 0 spatial_dropout1d[0][0]
__________________________________________________________________________________________________
tf.math.not_equal (TFOpLambda) (None, 90) 0 input_1[0][0]
__________________________________________________________________________________________________
bidirectional (Bidirectional) (None, 90, 180) 146880 dropout[0][0]
tf.math.not_equal[0][0]
__________________________________________________________________________________________________
conv1d (Conv1D) (None, 90, 180) 97380 bidirectional[0][0]
__________________________________________________________________________________________________
conv1d_1 (Conv1D) (None, 90, 180) 129780 bidirectional[0][0]
__________________________________________________________________________________________________
conv1d_2 (Conv1D) (None, 90, 180) 162180 bidirectional[0][0]
__________________________________________________________________________________________________
conv1d_3 (Conv1D) (None, 90, 180) 226980 bidirectional[0][0]
__________________________________________________________________________________________________
conv1d_4 (Conv1D) (None, 90, 180) 291780 bidirectional[0][0]
__________________________________________________________________________________________________
tf.concat (TFOpLambda) (None, 90, 900) 0 conv1d[0][0]
conv1d_1[0][0]
conv1d_2[0][0]
conv1d_3[0][0]
conv1d_4[0][0]
__________________________________________________________________________________________________
batch_normalization (BatchNorma (None, 90, 900) 3600 tf.concat[0][0]
__________________________________________________________________________________________________
re_lu (ReLU) (None, 90, 900) 0 batch_normalization[0][0]
__________________________________________________________________________________________________
conv1d_5 (Conv1D) (None, 86, 900) 2430900 re_lu[0][0]
__________________________________________________________________________________________________
batch_normalization_1 (BatchNor (None, 86, 900) 3600 conv1d_5[0][0]
__________________________________________________________________________________________________
max_pooling1d (MaxPooling1D) (None, 43, 900) 0 batch_normalization_1[0][0]
__________________________________________________________________________________________________
re_lu_1 (ReLU) (None, 43, 900) 0 max_pooling1d[0][0]
__________________________________________________________________________________________________
conv1d_6 (Conv1D) (None, 39, 900) 2430900 re_lu_1[0][0]
__________________________________________________________________________________________________
global_max_pooling1d (GlobalMax (None, 900) 0 conv1d_6[0][0]
__________________________________________________________________________________________________
batch_normalization_2 (BatchNor (None, 900) 3600 global_max_pooling1d[0][0]
__________________________________________________________________________________________________
re_lu_2 (ReLU) (None, 900) 0 batch_normalization_2[0][0]
__________________________________________________________________________________________________
label (Dense) (None, 17|12) 15317 re_lu_2[0][0]
==================================================================================================
Total params: 6,122,897
Trainable params: 6,117,497
Non-trainable params: 5,400
__________________________________________________________________________________________________
- CNN 前加入 GRU
- 数据加入噪音
- 5折交叉
比赛群里很多选手对生成镜像有些陌生,所以这里提供一个操作方便的镜像生成方式
- 在 basic_image 目录下运行 "docker build" 命令创建基础镜像 "myimage/tensorflow-gpu:basic" (仅需一次)
cd basic_image
docker build -t myimage/tensorflow-gpu:basic .- 在基础镜像上创建比赛镜像
cd ..
docker build -t your_resp/your_image:your_version .