خطا در multi output regression در کراس - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

خطا در multi output regression در کراس

0 امتیاز

سلام و خسته نباشیدخدمت دوستان عزیز

قصد دارم رگرسیون را به صورت multi output انجام بدم .مقادیر داده های و خروجی همه در بازه 0 و 1 هستند با مدل زیر اینکار را انجام میدم ورودی تصاویر 66*16 تک کاناله و سایز خروجی 9 است مشکل اینجاست که در هنگام تست همیشه اولین خروجی از 9 خروجی صفر .به نظر شما اشکال کار کجاست تمامی hpyer params  را دستکاری کردم ولی همچنان صفر در ضن صحت داده های ورودی و خروجی را هم بررسی کردم هیچ مشکلی در داده ها وجود نداره

def getModel():
    input = Input(shape=[16, 66, 1])  
    x = Conv2D(10, (3, 3), strides=1, padding='valid', name='conv1')(input)
    x = Activation("relu", name='relu1')(x)
    x = MaxPool2D(pool_size=2)(x)
    x = Conv2D(16, (3, 3), strides=1, padding='valid', name='conv2')(x)
    x = Activation("relu", name='relu2')(x)
    x = Conv2D(32, (3, 3), strides=1, padding='valid', name='conv3')(x)
    x = Activation("relu", name='relu3')(x)
    x = Flatten()(x)
    output = Dense(9,name = "dense")(x)
    output = Activation("relu", name='relu4')(output)
    model = Model([input], [output])
    return model

 

سوال شده آذر 11, 1398  بوسیله ی dark16 (امتیاز 172)   7 18 25

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

به این پدیده  vanishing gradients  گفته میشه با دو تا کار دم دستی می تونید از دستش خلاص شید یکی اینکه Activation ها رو از حالت relu به leaky relu تغییر بدید و دوم اینکه مقادیر وزن های اولیه را با روش Xavier  مقدار دهی کنید.

توضیحات بیشتر هم در اینجا و اینجا داده شده.

پاسخ داده شده آذر 24, 1398 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد دی 13, 1398 بوسیله ی dark16
...