xDeepFM
xDeepFM copied to clipboard
function _build_extreme_FM_quick in exDeepFM.py file
hparams.logger.info("split connect") if idx != len(hparams.cross_layer_sizes) - 1: next_hidden, direct_connect = tf.split(curr_out, 2 * [int(layer_size / 2)], 1) final_len += int(layer_size / 2) else: direct_connect = curr_out next_hidden = 0 final_len += layer_size field_nums.append(int(layer_size / 2))
I want to know why does "next_hidden, direct_connect = tf.split(curr_out, 2 * [int(layer_size / 2)], 1)" this action
It's a little trick. We found empirically that the performance is better via splitting direct connections (to output unit) and hidden layers to next stage.