বৃহত্তর ডেটা সেটের জন্য গ্রেডিয়েন্ট বংশদ্ভুত অক্ষম কেন?


13

আসুন ধরা যাক আমাদের ডেটা সেটটিতে 1 মিলিয়ন উদাহরণ রয়েছে, যেমন, and, এবং আমরা এই ডেটা সেটটিতে লজিস্টিক বা লিনিয়ার রিগ্রেশন সঞ্চালনের জন্য গ্রেডিয়েন্ট ব্যবহার করতে চাই।x1,,x106

গ্রেডিয়েন্ট বংশোদ্ভূত পদ্ধতিটি কী এটি এটি অদক্ষ করে তোলে?

রিকল যে সময়ে গ্রেডিয়েন্ট বংশদ্ভুত ধাপ দেওয়া হয়:t

wt+1=wt+ηtf(x)

যেখানে ক্ষতি হ'ল ফাংশন।f

আমি উপরের পদক্ষেপটি দিয়ে সাধারণের বাইরে কিছু দেখছি না যা অ্যালগরিদমকে অকার্যকর করে তোলে। এটি এর গণনা ? এই ক্রিয়াকলাপটি প্রাক-গণনা করা যায় না, অর্থাত্ প্রতিটি ইতিমধ্যে গণনা করা যায়, এবং কেবল প্রতিটি ডাটা পয়েন্টে এগুলি মূল্যায়ন করতে পারেff(x) xআমি?fxxi?


1
অপেক্ষাকৃত তুলনামূলক ...? এমনকি বড় ডেটাসেটের জন্য অদক্ষতার মধ্যে কমপক্ষে স্কোয়ার। আপনি বড় হে স্বরলিপি হবে তা সম্পর্কে অর্থপূর্ণ ধারনা আছে অ্যালগরিদম পারবে না। সমস্ত জিডি অ্যালগরিদমের সমান বড় ও নেই (তারা কি?)n
অ্যাডামো

উত্তর:


7

গ্রেডিয়েন্ট বংশোদ্ভূত অক্ষম এই দাবির কোনও প্রসঙ্গ সরবরাহ করলে এটি সহায়তা করবে। অপেক্ষাকৃত তুলনামূলক কী?

আমি অনুমান করি যে এখানে অনুপস্থিত প্রসঙ্গটি মেশিন লার্নিংয়ের স্টোকাস্টিক বা ব্যাচের গ্রেডিয়েন্ট বংশোদ্ভূত সাথে তুলনা করে। এই প্রসঙ্গে প্রশ্নের উত্তর কীভাবে দেওয়া যায় তা এখানে। আপনি মডেলের প্যারামিটারগুলি, এমনকি হাইপারপ্যারামিটারগুলিও অপ্টিমাইজ করছেন। সুতরাং, আপনার ব্যয় ফাংশন রয়েছে , যেখানে - আপনার ডেটা, এবং - পরামিতিগুলির ভেক্টর এবং - ক্ষতি ফাংশন। এই হ্রাস করতে আপনি প্যারামিটারগুলির উপরে : এক্স আমি Θ এল ( ) θ i=1nL(xi|Θ)xiΘL() θj

θji=1nL(Θ|xi)

সুতরাং, আপনি দেখতে যে তোমাদের উপর সমষ্টি পেতে প্রয়োজন সব তথ্য । এটি দুর্ভাগ্যজনক, কারণ এর অর্থ হ'ল আপনি আপনার গ্রেডিয়েন্ট বংশোদ্ভূত প্রতিটি পদক্ষেপের জন্য ডেটা লুপ করে চলেছেন। ব্যাচ এবং স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূতভাবে এভাবে উঠে আসে: আমরা যদি ডেটা সেট থেকে নমুনা নিই এবং পুরো সেটটি না করে কোনও নমুনায় গ্রেডিয়েন্ট গণনা করি তবে কী হবে? এখানে, হল নমুনার এর পর্যবেক্ষণের সংখ্যা । সুতরাং, যদি আপনার নমুনা মোট সেটের 1/100 তম হয়, আপনি আপনার গণনাগুলিকে 100 গুণ বাড়িয়ে দিন! স্পষ্টতই, এটি শব্দের সাথে পরিচয় করিয়ে দেয় যা শিক্ষাকে দীর্ঘায়িত করে তবে শব্দটি হ্রাস হয়xi=1,,n

θjk=1nsL(Θ|xk)
nssnযখন গণনার পরিমাণ এ বৃদ্ধি পায় , তাই এই কৌশলটি কাজ করতে পারে।n

বিকল্প হিসাবে, পুরো যোগফল until যোগ_ গণনা না করা পর্যন্ত অপেক্ষা করা, আপনি এটি ব্যাচগুলিতে বিভক্ত করতে পারেন এবং প্রতিটি ব্যাচের জন্য একটি পদক্ষেপ করতে পারেন । পুরো ডেটা সেটের সমষ্টি নির্ধারিত হওয়ার পরে আপনি এম পদক্ষেপগুলি করতে পারতেন। এগুলি শোরগোলের পদক্ষেপগুলি হতে পারে তবে সময়ের সাথে সাথে শব্দগুলি বাতিল হয়ে যায়।i=1ns=1Mis=1ns


19

দুটি উপায় রয়েছে যেখানে গ্রেডিয়েন্ট বংশোদ্ভূত অযোগ্য হতে পারে। মজার বিষয় হল, তারা প্রত্যেকে ঠিক করার জন্য নিজস্ব পদ্ধতিতে নেতৃত্ব দেয়, যা প্রায় বিপরীত সমাধান। দুটি সমস্যা হ'ল:

(1) অনেকগুলি গ্রেডিয়েন্ট বংশোদ্ভূত আপডেট প্রয়োজন।

(2) প্রতিটি গ্রেডিয়েন্ট বংশদ্ভুত পদক্ষেপটি খুব ব্যয়বহুল।

(1) এর ক্ষেত্রে, দ্বিতীয় ক্রম ডেরাইভেটিভস সম্পর্কে অ্যাকাউন্টে নেওয়া পদ্ধতিগুলির সাথে গ্রেডিয়েন্ট বংশোদ্ভূত তুলনা করে, গ্রেডিয়েন্ট বংশোদ্ভূত প্রতিটি পুনরাবৃত্তিতে ক্ষতির উন্নতির ক্ষেত্রে অত্যন্ত অদক্ষ বলে মনে করে। নিউটনের পদ্ধতিটি খুব মানক পদ্ধতিতে সাধারণত রূপান্তর করতে অনেক কম পুনরাবৃত্তি গ্রহণ করে, যেমন লজিস্টিক রিগ্রেশন এর জন্য, নিউটনের পদ্ধতির 10 টি পুনরাবৃত্তির প্রায়শই গ্রেডিয়েন্ট বংশোদ্ভূত 5000 টি পুনরাবৃত্তি দ্বারা প্রদত্ত সমাধানের চেয়ে কম ক্ষতি হতে পারে। লিনিয়ার রিগ্রেশন জন্য, এটি আরও চরম; একটি বদ্ধ ফর্ম সমাধান আছে! তবে, যেমন ভবিষ্যদ্বাণীকারীদের সংখ্যা খুব বেশি বেড়ে যায় (যেমন 500+), নিউটনের পদ্ধতি / রৈখিক প্রতিরোধের জন্য সরাসরি সমাধান করা পুনরুক্তি প্রতি খুব ব্যয়বহুল হয়ে উঠতে পারে প্রয়োজনীয় পরিমাণে ম্যাট্রিক্স অপারেশনগুলির কারণে, যখন গ্রেডিয়েন্ট বংশোদ্ভূত প্রতি পুনরাবৃত্তির জন্য যথেষ্ট কম ব্যয় করবে।

(2) এর সাথে সম্পর্কিত, এত বড় একটি ডেটাসেট থাকা সম্ভব যে গ্রেডিয়েন্ট বংশোদ্ভূতের প্রতিটি পুনরুক্তি গণনা করা খুব ব্যয়বহুল। গ্রেডিয়েন্ট গণনা করার জন্য ক্রিয়াকলাপগুলি প্রয়োজন হবে ( = নমুনা আকার, = সহকারীদের সংখ্যা)। যদিও মানগুলির জন্য আধুনিক কম্পিউটারগুলিতে all মোটেও সমস্যা নয় তবে অবশ্যই , হবে। এই ক্ষেত্রে, উপাত্তের ছোট ছোট উপগ্রহের উপর ভিত্তি করে ডেরাইভেটিভ সম্পর্কিত পদ্ধতিগুলি আরও আকর্ষণীয়, যেমন স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূতO(nk)nkn=106k<100n=1012k=103

আমি বলছি যে এই সংশোধনগুলি প্রায় বিপরীত, নিউটনের পদ্ধতির মতো কিছু আপডেটের তুলনায় আরও ব্যয়বহুল তবে আরও বেশি দক্ষ (ক্ষতিতে পরিবর্তনের শর্তে) আপডেটে, অন্যদিকে স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত আসলে কম দক্ষ তবে আপডেটের তুলনায় অনেক কম কম্পিউটারে সস্তা।


আশ্চর্যজনক উত্তরের জন্য আপনাকে ধন্যবাদ। = সংখ্যক সমবায় সংখ্যার দ্বারা আপনি কী বোঝাতে চান ? আমি এই পরিভাষাটির সাথে পরিচিত নইk
কার্লোস - মঙ্গুজ - বিপদে

2
@Learningonepageatatime: covariates = প্রিডেক্টর ভেরিয়েবল।
ক্লিফ এবি

10

প্রথমে আমাকে আপনার স্বীকৃতিতে উন্নতির পরামর্শ দিন। বিশেষত, আসুন দ্বারা ক্ষতি পরিবর্তে চেয়ে কম ফাংশনটি বোঝানো যাক । অক্ষরটি ব্যবহার করা কেবল আমার ব্যক্তিগত পছন্দ, কারণ এটি আমাকে স্মরণ করিয়ে দেয় যে আমরা এল ওএসএস নিয়ে কাজ করছি । আরও তাত্পর্যপূর্ণ পরিবর্তনটি এটি পরিষ্কার করে দিচ্ছে যে ক্ষতিটি ডাটা পরিবর্তে ওয়েট কার্যকারিতা । গুরুত্বপূর্ণভাবে, গ্রেডিয়েন্ট থেকে সম্মান সঙ্গে রয়েছেন না । সুতরাং যেখানে আপনার দ্বিমাত্রিকতা ডেটা।L(w)f(x)Lwxwx

L(w)=(Lw1,,LwD),
D

ওজন এর একটি ক্রিয়াকলাপ হিসাবে আমাদের ক্ষতির কথা ভাবা উচিত হওয়া সত্ত্বেও , কোনও যুক্তিসঙ্গত ক্ষতির ফাংশনটি এখনও পুরো ডেটাसेट উপর নির্ভর করবে (যদি এটি না হয় তবে ডেটা থেকে কিছু শেখা সম্ভব হবে না!) )। লিনিয়ার রিগ্রেশন হিসাবে, উদাহরণস্বরূপ, আমরা সাধারণত স্কোয়ার ক্ষতির ফাংশন সুতরাং গ্রেডিয়েন্ট মূল্যায়নের ওজন একটি নির্দিষ্ট সেট সর্বাঙ্গে একটি সমষ্টি প্রয়োজন হবে মধ্যে ডেটা সেটটি পয়েন্ট । যদি , তবে গ্রেডিয়েন্ট বংশোদ্ভূত অপ্টিমাইজেশনের প্রতিটি বর্ধমান পদক্ষেপের জন্য মিলিয়ন ক্রিয়াকলাপের ক্রম প্রয়োজন হবে, যা বেশ ব্যয়বহুল।x L ( w ) = N i = 1 ( y i - w T x i ) 2এল ( W ) W এন x এন = 10 6wx

L(w)=i=1N(yiwTxi)2.
L(w)wNxN=106

3

সংক্ষিপ্ত উত্তর: গ্রেডিয়েন্ট গণনা করার জন্য সমস্ত ডেটা পয়েন্টের সমষ্টি করা দরকার। আমাদের কাছে যদি প্রচুর পরিমাণে ডেটা থাকে তবে এটি একটি দীর্ঘ সময় নেয়।

আমি এখানে একটি বিস্তারিত উত্তর আছে।

স্টকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত মান স্ট্র্যাডেন্ট ডিসেন্টের তুলনায় কীভাবে সময় বাঁচাতে পারে?


অন্যদিকে, সর্বদা মনে রাখবেন পুনরাবৃত্ত পদ্ধতি ছাড়াও সরাসরি পদ্ধতি রয়েছে (গ্রেডিয়েন্ট শালীন)। আমরা যদি ন্যূনতম বর্গক্ষেত্রের সমস্যাটি সমাধান করতে চাই, সরাসরি পদ্ধতি সুপার দক্ষ হতে পারে। উদাহরণস্বরূপ, কিউআর পচে যাওয়া। আমাদের যদি খুব বেশি বৈশিষ্ট্য না থাকে তবে এটি খুব দ্রুত।

আপনি এটি যাচাই করলে এটি আপনাকে অবাক করে দিতে পারে: 2 টি বৈশিষ্ট্য সহ 5 মিলিয়ন ডেটা পয়েন্ট, লিনিয়ার রিগ্রেশন / কমপক্ষে স্কোয়ার সমাধান করতে কয়েক সেকেন্ড সময় লাগে!

x=matrix(runif(1e7),ncol=2)
y=runif(5e6)
start_time <- Sys.time()
lm(y~x)
end_time <- Sys.time()
end_time - start_time
# Time difference of 4.299081 secs

1

যদিও আপনি উল্লেখ করেছেন দুটি উদাহরণ সাধারণত উত্তল তবে আমি নন-উত্তল সমস্যা সম্পর্কে একটি পয়েন্ট যুক্ত করব। আমার মতে (ব্যাচ) গ্রেডিয়েন্ট বংশোদ্ভূতিকে "অদক্ষ" বলে বিবেচনা করার দুটি মূল কারণ রয়েছে। "বৃহত" যোগফলের গ্রেডিয়েন্ট গণনা করার গণ্য প্রচেষ্টা সম্পর্কে প্রথম বিষয়টি ইতিমধ্যে অন্যান্য উত্তরে খুব স্পষ্টরূপে বর্ণিত হয়েছে। নন-উত্তল সমস্যার জন্য তবে জিডির সাধারণত একটি "কাছাকাছি" স্থানীয় সর্বনিম্নে আটকে যাওয়ার সমস্যা রয়েছে। এই সর্বনিম্নটি ​​বিশ্ব সর্বনিম্নের তুলনায় খুব খারাপ হতে পারে। এসজিডি বা মিনি-ব্যাচের জিডির এলোমেলোভাবে (অন্তত আংশিক) ঘুরে বেড়ানোর "সুবিধা" রয়েছে এবং এর ফলে আরও ভাল স্থানীয় ন্যূনতম সন্ধানের সুযোগ থাকতে পারে। এই সিভি উত্তর এখানে দেখুন । অথবা এই অন্যান্য সিভি পোস্ট র্যান্ডমনেস কীভাবে উপকারী হতে পারে তার রূপরেখা উল্লেখ করা হচ্ছে ining

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