স্নায়বিক নেটওয়ার্কগুলির ব্যয় ক্রিয়াকলাপটি নন-উত্তল?


22

এখানে একটি অনুরূপ থ্রেড রয়েছে ( নিউরাল নেটওয়ার্কের ব্যয় ক্রিয়াকলাপটি নন-উত্তল? ) তবে আমি সেখানে উত্তরগুলির পয়েন্টগুলি বুঝতে পারি না এবং এটি পুনরায় জিজ্ঞাসা করার কারণটি এই আশা করে যে কিছু বিষয় স্পষ্ট হবে:

আমি স্কোয়ারড পার্থক্য খরচ ফাংশনের সমষ্টি ব্যবহার করছি তবে আমি চরমভাবে ফর্মের কিছু নিখুঁত করছি যেখানে Y প্রশিক্ষণ পর্বে প্রকৃত ট্যাগ মান এবং Y পূর্বাভাস লেবেল মান। যেহেতু এটির একটি বর্গাকার ফর্ম রয়েছে, এটি একটি উত্তল ব্যয় ফাংশন হওয়া উচিত। তাহলে এটি এমন কী যা এটি কোনও এনএন-এ উত্তেজিত হতে পারে?Σi=1N(yiyi^)2yy^


7
জাভাস্ক্রিপ্টে গার্বেজ, তার কারণ হল Y = ( এক্স ) , এবং সাধারণভাবে কোন গ্যারান্টী যে একটি অবাধ ফাংশন হতে হবে উত্তল আছেy^=f(x)
generic_user

উত্তর:


35

মধ্যে প্রকৃতপক্ষে উত্তল হয় Y আমি । কিন্তু যদি Y আমি = ( এক্স আমি ; θ ) এটা উত্তল নাও থাকতে পারেন θ , যা সবচেয়ে অ রৈখিক মডেলের সঙ্গে পরিস্থিতি, এবং আমরা আসলে মধ্যে ন্যুব্জতা যত্নশীল θ কারণ কি আমরা খরচ ফাংশন নিখুঁত করছি যে ওভার।i(yiy^i)2y^iy^i=f(xi;θ)θθ

উদাহরণস্বরূপ, আসুন ইউনিটের 1 টি লুকানো স্তর এবং একটি লিনিয়ার আউটপুট স্তরযুক্ত একটি নেটওয়ার্ক বিবেচনা করুন : আমাদের ব্যয় ফাংশনটি g ( α , W ) = i ( y i - α i σ ( W x i ) ) 2 যেখানে x iআর পি এবং ডব্লিউ আর এন × পি (এবং সরলতার জন্য আমি পক্ষপাতের শর্ত বাদ দিচ্ছি)। ( Α , ডাব্লু ) এর ফাংশন হিসাবে দেখা গেলে এটি অগত্যা উত্তেজক নয় isN

g(α,W)=i(yiαiσ(Wxi))2
xiRpWRN×p(α,W)( উপর নির্ভর করে : যদি একটি লিনিয়ার অ্যাক্টিভেশন ফাংশন ব্যবহার করা হয় তবে এটি এখনও উত্তল হতে পারে)। এবং আমাদের নেটওয়ার্ক যত গভীর হয়, উত্তল জিনিসগুলি তত কম।σ

h:R×RRh(u,v)=g(α,W(u,v))W(u,v)WW11uW12v

n=50p=3N=1xyN(0,1)

loss surface

আমি এই চিত্রটি তৈরি করতে যে আর কোডটি ব্যবহার করেছি তা এখানে রয়েছে (যদিও কিছু প্যারামিটারগুলি তৈরি করার সময় থেকে এখন কিছুটা আলাদা মান রয়েছে তবে সেগুলি অভিন্ন হবে না):

costfunc <- function(u, v, W, a, x, y, afunc) {
  W[1,1] <- u; W[1,2] <- v
  preds <- t(a) %*% afunc(W %*% t(x))
  sum((y - preds)^2)
}

set.seed(1)
n <- 75  # number of observations
p <- 3   # number of predictors
N <- 1   # number of hidden units


x <- matrix(rnorm(n * p), n, p)
y <- rnorm(n)  # all noise
a <- matrix(rnorm(N), N)
W <- matrix(rnorm(N * p), N, p)

afunc <- function(z) 1 / (1 + exp(-z))  # sigmoid

l = 400  # dim of matrix of cost evaluations
wvals <- seq(-50, 50, length = l)  # where we evaluate costfunc
fmtx <- matrix(0, l, l)
for(i in 1:l) {
  for(j in 1:l) {
    fmtx[i,j] = costfunc(wvals[i], wvals[j], W, a, x, y, afunc)
  }
}

filled.contour(wvals, wvals, fmtx,plot.axes = { contour(wvals, wvals, fmtx, nlevels = 25, 
                                           drawlabels = F, axes = FALSE, 
                                           frame.plot = FALSE, add = TRUE); axis(1); axis(2) },
               main = 'NN loss surface', xlab = expression(paste('W'[11])), ylab = expression(paste('W'[12])))

চমত্কার উত্তর; আমি মনে করি অ্যাক্টিভেশন ফাংশন নির্বিশেষে, সর্বদা ওজন / গোপন ইউনিট কিছু বিন্যাস যা সাধারণত অ ন্যুব্জতা মানে জানতে পারেন
information_interchange

1
@ ইনফরমেশন_ইন্টারচেঞ্জ ধন্যবাদ, এবং আমি মনে করি আপনি একেবারে ঠিকই আছেন, উত্তর যে ওপি সেই পদ্ধতির বিষয়ে আলোচনার সাথে যুক্ত হয়েছে
জেএলডি

দুর্দান্ত উত্তর, তবে আমরা যদি এমএসইয়ের পরিবর্তে এমএই ব্যবহার করি তবে বুঝতে পারি না কেন এটি নন-উত্তল হবে, একটি উত্তল এবং অ-ক্রমহ্রাসমান ফাংশনটির গঠনটি উত্তল, সুতরাং আমাদের যদি এমএই থাকে তবে আমাদের এখনও উত্তল ক্রিয়াকলাপ হওয়া উচিত ডাব্লু। সম্পর্কিত
পান্ডা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.