কেরাসের শেষ স্তরে একাধিক সফটম্যাক্স প্রয়োগ করা সম্ভব? সুতরাং নোডের যোগফল 1-4 = 1; 5-8 = 1; প্রভৃতি
আমার কি আলাদা নেটওয়ার্ক ডিজাইনের জন্য যাওয়া উচিত?
কেরাসের শেষ স্তরে একাধিক সফটম্যাক্স প্রয়োগ করা সম্ভব? সুতরাং নোডের যোগফল 1-4 = 1; 5-8 = 1; প্রভৃতি
আমার কি আলাদা নেটওয়ার্ক ডিজাইনের জন্য যাওয়া উচিত?
উত্তর:
আমি কার্যকরী ইন্টারফেস ব্যবহার করব।
এটার মতো কিছু:
from keras.layers import Activation, Input, Dense
from keras.models import Model
from keras.layers.merge import Concatenate
input_ = Input(shape=input_shape)
x = input_
x1 = Dense(4, x)
x2 = Dense(4, x)
x3 = Dense(4, x)
x1 = Activation('softmax')(x1)
x2 = Activation('softmax')(x2)
x3 = Activation('softmax')(x3)
x = Concatenate([x1, x2, x3])
model = Model(inputs=input_, outputs=x)
categorical_accuracy
এবং predict_classes
পদ্ধতিগুলির জন্য আরও চিন্তাভাবনা প্রয়োজন। । ।
এটি সম্ভব আপনার নিজস্ব সফটম্যাক্স ফাংশনটি বাস্তবায়ন করা। আপনি অংশগুলিতে একটি টেনসর বিভক্ত করতে পারেন, তারপরে অংশ হিসাবে পৃথকভাবে সফটম্যাক্স গণনা করুন এবং টেনসর অংশগুলি সংমিশ্রণ করতে পারেন:
def custom_softmax(t):
sh = K.shape(t)
partial_sm = []
for i in range(sh[1] // 4):
partial_sm.append(K.softmax(t[:, i*4:(i+1)*4]))
return K.concatenate(partial_sm)
concatenate
অক্ষ ছাড়াই শেষ অক্ষের মাধ্যমে যুক্তিযুক্ত (আমাদের ক্ষেত্রে অক্ষ = 1)।
তারপরে আপনি এই অ্যাক্টিভেশন ফাংশনটি কোনও গোপন স্তরে অন্তর্ভুক্ত করতে পারেন বা এটিকে কোনও গ্রাফে যুক্ত করতে পারেন।
Dense(activation=custom_activation)
অথবা
model.add(Activation(custom_activation))
আপনাকে একটি নতুন ব্যয়ের ক্রিয়াও সংজ্ঞায়িত করতে হবে।