troubleshoot a neural network

  • ステータス: Closed
  • 賞金: $30
  • 受け取ったエントリー: 2
  • 優勝者: kkapoor97

コンテスト概要

I wrote a neural network using Python and Tensorflow. The code and sample data are here: https://drive.google.com/open?id=1vXRIEunxgunqLGRJHEW_w29FXM7Ejjqy
Unfortunately the results are not converging, even with trivial data that mathematically should converge due to overfitting.
This is because there is a bug in the code, somewhere.
The first person to identify the full complete BUG FIX which causes the network to perform correctly (converge towards zero error), wins the prize.

*** THE PRIZE IS NOW INCREASED TO $20. ***
*** DO NOT WAIT UNTIL THE LAST MINUTE TO SUBMIT YOUR SOLUTION:
*** THE CONTEST WILL BE ENDED EARLY WHEN THE FIRST CORRECT SOLUTION IS SUBMITTED

### HELLO ALL CONTESTANTS ###
I am starting to understand what is wrong with this code, but I don't know the Tensorflow/Python syntax to fix it:
The onehot() function converts each character to a 74x1 vector and then flattens all three into a 222x1 vector (74 + 74 + 74 = 222).
The problem is that the softmax function is applied to all 222 logits simultaneously. This is logically incorrect and the softmax should be applied separately to each 74x1 vector. This is because the sum of probabilities of all softmax inputs should always be 1.0. In this case each set of 74 logits has a total probability of 1. It is nonsense to take the softmax of all 222 values because they do not have a total probability of 1 as a group. The probability of 1 is tied instead to each of 3 inputs from each set of 74.

The use of softmax for this task is described in this paper: https://link.springer.com/chapter/10.1007/978-3-319-67077-5_42

THE PRIZE IS INCREASED TO $30.

** ATTENTION ALL CONTESTANTS ** the code has a typo, the variable training_x should be train_inputs. But this is not the only bug.

** VERY IMPORTANT ** The one-hot-encoding of output is a critical requirement of this problem. You cannot solve it by removing the OHE and removing softmax cross-entropy. That is not an acceptable solution. The only acceptable solution is to partition the softmax computation for each independent variable. I don't know how to do that.

推奨スキル

採用者フィードバック

“Good results in the end after several rounds of testing.”

プロフィール画像 afterhourstech, United States.

このコンテストのトップエントリー

エントリーをもっと表示

公開説明ボード

  • Vijayabhaskar96
    Vijayabhaskar96
    • 5年間前

    Why is my code rejected, you didn't even ask me what I did, before I was going to explain, you assumed something and rejected my entry?

    • 5年間前
  • afterhourstech
    コンテスト所有者
    • 5年間前

    **Attention all contestants** I think this would be considered a "multi-tasking" network since there is multiple sets of mutually exclusive classes. Softmax and entropy must be used for each set. Currently all class sets are flattened into a single array. But maybe this is the bug. I'm not sure.

    • 5年間前
  • afterhourstech
    コンテスト所有者
    • 5年間前

    PRIZE IS INCREASED TO $20

    • 5年間前

コンテストの開始方法

  • あなたのコンテストを投稿

    あなたのコンテストを投稿 速くて簡単

  • たくさんのエントリーを集めましょう

    たくさんのエントリーを集めましょう 世界中から

  • ベストエントリーをアワード

    ベストエントリーをアワード ファイルをダウンロード - 簡単!

コンテストを今すぐ投稿 または本日参加!