Re: [问题] TensorFlow如何设定复杂的loss function?

楼主: yoyololicon (萝莉大好)   2019-02-02 13:43:40
※ 引述《dogs1231992 (河豚)》之铭言:
: 标题: [问题] TensorFlow如何设定复杂的loss function?
: 时间: Fri Feb 1 05:02:10 2019
:
: 各位大家好,小弟最近想用TensorFlow来完成NN的部分
:
: 目前数据都准备好了,TensorFlow的部分则是上网查了一些资料,层及进出都设定好了
:
: 只是我遇到一个关于loss function的问题
:
: 一般训练都是N个数据进去,M个数据出来,用这M个数据与参考值求误差
:
: 但我的状况是:
:
: 我有一个三维的资料: N x M x P
:
: 里面有 N 个images,每个images有 M 个原子,每个原子有 P 个参数
:
: 希望可以利用同一个 (或者依照原子不同而分类成多个) NN
:
: 在我输入P个数据后,可以得到答案Ep
:
: 同一个image里面所有原子M的Ep加总后会得到一个值 En
:
: 全部资料会有N个En,这些En与参考值求误差后即为我的loss
:
: 目前卡在不知道该如何将M次计算后的Ep全部加总在一起
:
: 推 yoyololicon: 我会建议你不要用一个个原子去想 而是用image的角度 02/02 07:39
: → yoyololicon: 因为你的目标En单位是每个image 02/02 07:39
: → yoyololicon: 就直接用(N, M, P)大小的矩阵直接去train不用拆开 02/02 07:41
: → yoyololicon: 对应的label为长度(N,)的矩阵 这边N就是batch size 02/02 07:42
:
: Y大,想请问您的意思是是否为:
:
: 我的单一个input就是 M x P 的矩阵
:
: 输出则为 M个参数 或者 直接把所有输出加总在一起变成一个En?
:
: N个images在训练后就会得到 N个 En
:
都可以
这样的话你的输入可以缩减成二维 (N, M x P)
经过NN (可能的架构: (M x P) x .... x M) 后输出变成(N, M)
再用tf.reduce_sum加总成(N,),再来算loss;
或者用原本的架构也可以(2 x 15 x 1)
输入 (N, M, P) >> NN >> (N, M, 1),之后的步骤一样
我不确定你的M是固定的还是变量
如果是变动的,可以做padding让大小变成一样
: 如果是这样的话,想请问是否有办法在输入 M x P 的矩阵时分辨谁要走NN1,谁要走NN2?
应该在一开始就把资料分成两群,而不是在输入的时候做分辨

Links booklink

Contact Us: admin [ a t ] ucptt.com