Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

复赛 0.921, 46 名

赛题背景

影像科医生在工作时会观察医学影像(如 CT、核磁共振影像),并对其作出描述,这些描述中包含了大量医学信息,对医疗 AI 具有重要意义。本任务需要参赛队伍根据医生对 CT 的影像描述文本数据,判断身体若干目标区域是否有异常以及异常的类型。初赛阶段仅需判断各区域是否有异常,复赛阶段除了判断有异常的区域外,还需判断异常的类型。判断的结果按照指定评价指标进行评测和排名,得分最优者获胜。

任务抽象

  1. 输入(文本)

    观察医学影像的描述(脱敏),例如:"右下肺野见小结节样影与软组织肿块影" -> "101 47 12 66 74 90 0 411 234 79 175 ..."

  2. 输出(两类多标签) 例如:"4,1 2"

    1. 异常区域(region),17 类 例如: "4,1"
    2. 异常类别(type),12 类 例如:"2"
  3. 评估标准

    1. 异常区域(region) mlogloss
    2. 异常类别(type) 删除无异常数据后的 mlogloss

模型

  1. 模型结构如下表
  2. 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
__________________________________________________________________________________________________

加分点

  1. CNN 前加入 GRU
  2. 数据加入噪音
  3. 5折交叉

创建基础镜像

比赛群里很多选手对生成镜像有些陌生,所以这里提供一个操作方便的镜像生成方式

  1. 在 basic_image 目录下运行 "docker build" 命令创建基础镜像 "myimage/tensorflow-gpu:basic" (仅需一次)
cd basic_image
docker build -t myimage/tensorflow-gpu:basic .
  1. 在基础镜像上创建比赛镜像
cd ..
docker build -t your_resp/your_image:your_version .

About

天池医学影音描述,多标签分类(NLP multilabel)

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages