तंत्रिका नेटवर्क गैर-उत्तल की लागत कार्य क्यों है?


22

यहां एक समान धागा है ( तंत्रिका नेटवर्क की लागत फ़ंक्शन गैर-उत्तल है? ) लेकिन मैं वहां के उत्तरों में बिंदुओं को समझने में सक्षम नहीं था और फिर से यह पूछने की मेरी वजह से कुछ मुद्दों को स्पष्ट करने की उम्मीद है:

यदि मैं चुकता अंतर लागत फ़ंक्शन का उपयोग कर रहा हूं, तो मैं अंततः फॉर्म कुछ का अनुकूलन कर रहा हूं, जहां प्रशिक्षण में वास्तविक लेबल मान है चरण और अनुमानित लेबल मान है। चूँकि इसका एक चौकोर रूप है, यह एक उत्तल लागत फ़ंक्शन होना चाहिए। तो ऐसा क्या है जो इसे एक एनएन में गैर-उत्तल बना सकता है?Σi=1N(yiyi^)2yy^


7
तुच्छ रूप से, यह इसलिए है क्योंकि , और सामान्य तौर पर कोई गारंटी नहीं है कि एक मनमाना कार्य उत्तल होगाy^=f(x)
जेनेरिक_सियर

जवाबों:


35

i(yiy^i)2 वास्तव में में उत्तल है । लेकिन अगर यह इन द में उत्तल नहीं हो सकता है , जो कि अधिकांश गैर-रेखीय मॉडल के साथ स्थिति है, और हम वास्तव में in the बारे में परवाह करते हैं क्योंकि हम इसे अनुकूलित कर रहे हैं लागत समारोह।y^iy^i=f(xi;θ)θθ

उदाहरण के लिए, आइए एक नेटवर्क पर विचार करें जिसमें इकाइयों की 1 छिपी हुई परत और एक लीनियर आउटपुट परत है: हमारी लागत फ़ंक्शन जहाँ और (और मैं सादगी के लिए पूर्वाग्रह शब्द छोड़ रहा हूँ)। यह जरूरी नहीं है कि जब कार्य के रूप में देखा जाता है पर निर्भर करता है : यदि एक रैखिक सक्रियण फ़ंक्शन का उपयोग किया जाता है, तो यह अभी भी उत्तल हो सकता है)। और जितना गहरा हमारा नेटवर्क मिलता है, उतने कम उत्तल चीजें होती हैं।N

g(α,W)=i(yiαiσ(Wxi))2
xiRpWRN×p(α,W)σ

अब एक समारोह को परिभाषित द्वारा जहां है के साथ सेट और सेट to । यह हमें लागत फ़ंक्शन की कल्पना करने की अनुमति देता है क्योंकि ये दो वजन भिन्न होते हैं।h:R×RRh(u,v)=g(α,W(u,v))W(u,v)WW11uW12v

नीचे दिया गया आंकड़ा इसे , , और (इसलिए एक अत्यंत महत्वपूर्ण वास्तुकला) के साथ सिग्मॉइड सक्रियण फ़ंक्शन के लिए दिखाता है । सभी डेटा ( और दोनों ) iid , क्योंकि प्लॉटिंग फ़ंक्शन में कोई भी वज़न विविध नहीं हैं। आप उत्तलता की कमी को यहाँ देख सकते हैं।n=50p=3N=1xyN(0,1)

नुकसान की सतह

यहाँ R कोड है जो मैंने इस आकृति को बनाने के लिए उपयोग किया है (हालाँकि कुछ पैरामीटर अब जब मैंने इसे बनाया है, तब की तुलना में थोड़े भिन्न मूल्यों पर हैं):

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
@information_interchange धन्यवाद, और मुझे लगता है कि आप बिलकुल सही हैं, जवाब है कि ओपी उस दृष्टिकोण के बारे में बात करने के लिए जुड़ा हुआ है
jld

महान उत्तर, लेकिन अगर हम MSE के बजाय MAE का उपयोग करते हैं, तो मुझे समझ नहीं आता कि यह गैर-उत्तल क्यों होगा, एक उत्तल और गैर-घटते हुए कार्य की संरचना उत्तल है, इसलिए यदि हमारे पास MAE है, तो हमें अभी भी उत्तल कार्य करना चाहिए डब्ल्यू। के बारे में
पांडा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.