কনভুলেশনাল নিউরাল নেটওয়ার্ক, সীমাবদ্ধ বল্টজম্যান মেশিন এবং অটো-এনকোডারগুলির মধ্যে পার্থক্য কী?


123

সম্প্রতি আমি গভীর শিক্ষার বিষয়ে পড়ছি এবং শর্তাদি (বা প্রযুক্তি বলতে) সম্পর্কে আমি বিভ্রান্ত হয়ে পড়েছি। পার্থক্য কি

  • কনভোলিউশনাল নিউরাল নেটওয়ার্কগুলি (সিএনএন),
  • সীমাবদ্ধ বল্টজম্যান মেশিন (আরবিএম) এবং
  • স্বয়ং-এনকোডার?

উত্তর:


237

অটেনকোডার একটি সাধারণ 3- স্তরীয় নিউরাল নেটওয়ার্ক যেখানে আউটপুট ইউনিটগুলি সরাসরি ইনপুট ইউনিটের সাথে সংযুক্ত থাকে । যেমন নেটওয়ার্কে যেমন:

এখানে চিত্র বর্ণনা লিখুন

output[i]input[i]প্রতিটি জন্য প্রান্ত ফিরে আছে i। সাধারণত, লুকানো ইউনিটের সংখ্যা দৃশ্যমান (ইনপুট / আউটপুট) এর সংখ্যার তুলনায় অনেক কম। ফলস্বরূপ, আপনি যখন এই জাতীয় নেটওয়ার্কের মাধ্যমে ডেটা পাস করেন, এটি প্রথমে একটি ছোট উপস্থাপনায় "ফিট" করার জন্য ইনপুট ভেক্টরকে সংকুচিত করে (এনকোডগুলি) এবং তারপরে এটি পুনরায় গঠন (ডিকোড) করার চেষ্টা করে। প্রশিক্ষণের কাজটি হ'ল ত্রুটি বা পুনর্গঠনকে হ্রাস করা, অর্থাৎ ইনপুট ডেটার জন্য সর্বাধিক দক্ষ কমপ্যাক্ট উপস্থাপনা (এনকোডিং) সন্ধান করা।

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

এখানে চিত্র বর্ণনা লিখুন

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

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

এখানে চিত্র বর্ণনা লিখুন

(থেকে চিত্র এখানে )

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

এখানে চিত্র বর্ণনা লিখুন

তিনটি মডেলেরই তাদের ব্যবহারের কেস, উপকারিতা এবং কনস রয়েছে তবে সম্ভবত সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি হ'ল:

  1. অটেনকোডারগুলি সহজতম। এগুলি স্বজ্ঞাতভাবে বোধগম্য, কার্যকর করা সহজ এবং এর পক্ষে যুক্তিযুক্ত (যেমন আরবিএমগুলির চেয়ে তাদের জন্য ভাল মেটা-পরামিতিগুলি খুঁজে পাওয়া অনেক সহজ)।
  2. আরবিএমগুলি উত্পাদক হয়। এটি হ'ল স্বয়ংক্রিয়কোডারগুলির বিপরীতে যা কিছু ডেটা ভেক্টরকে অন্যের পক্ষে বৈষম্য করে, আরবিএমগুলিও যোগ দেওয়া বিতরণের মাধ্যমে নতুন ডেটা তৈরি করতে পারে। এগুলি আরও বৈশিষ্ট্য সমৃদ্ধ এবং নমনীয় বলে বিবেচিত হয়।
  3. সিএনএন খুব সুনির্দিষ্ট মডেল যা বেশিরভাগই খুব নির্দিষ্ট কাজের জন্য ব্যবহৃত হয় (যদিও বেশ জনপ্রিয় টাস্ক)। চিত্রের স্বীকৃতিতে বেশিরভাগ শীর্ষ-স্তরের অ্যালগরিদমগুলি আজ কোনও কোনওরকম সিএনএন-এর উপর ভিত্তি করে তৈরি হয়েছে তবে এই কুলুঙ্গির বাইরে এগুলি খুব কমই প্রয়োগযোগ্য (যেমন ফিল্ম পর্যালোচনা বিশ্লেষণের জন্য কনভলিউশনটি ব্যবহার করার কারণ কী?)।

UPD।

মাত্রা হ্রাস

আমরা যখন কোনও উপাদানকে উপাদানগুলির ভেক্টর হিসাবে উপস্থাপন করি তখন আমরা বলি যে এটি ডাইমেনশনাল স্পেসে ভেক্টর । সুতরাং, dimensionality কমানো এমনভাবে বিশোধক ডেটার একটি প্রক্রিয়া উল্লেখ করে, প্রতিটি ডাটা ভেক্টর মধ্যে অন্য ভেক্টর অনুবাদ করা হয় একটি ইন -dimensional স্থান (সঙ্গে ভেক্টর উপাদান), যেখানে । সম্ভবত এটি করার সবচেয়ে সাধারণ উপায় হ'ল পিসিএ । মোটামুটিভাবে বলতে গেলে, পিসিএ একটি ডেটাসেটের "অভ্যন্তরীণ অক্ষ" (যাকে "উপাদানগুলি" বলা হয়) সন্ধান করে এবং তাদের গুরুত্ব অনুসারে বাছাই করে। প্রথমএনnnx এম এম এম < এন এমxxmmm<nmসর্বাধিক গুরুত্বপূর্ণ উপাদানগুলি নতুন ভিত্তি হিসাবে ব্যবহৃত হয়। এই উপাদানগুলির প্রতিটিটিকে উচ্চ স্তরের বৈশিষ্ট্য হিসাবে বিবেচনা করা যেতে পারে, ডেটা ভেক্টরগুলিকে মূল অক্ষের চেয়ে আরও ভাল বর্ণনা করে।

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

গভীর স্থাপত্য

সুতরাং, যদি আমাদের ইতিমধ্যে পিসিএ থাকে, তবে আমরা কেন অটোইনকোডার এবং আরবিএম নিয়ে এসেছি? দেখা যাচ্ছে যে পিসিএ কেবলমাত্র একটি ডেটা ভেক্টরকে রৈখিক রূপান্তর করতে দেয় । অর্থাত্, মূল উপাদান থাকা , আপনি কেবলমাত্র ভেক্টরকে । এটি ইতিমধ্যে বেশ ভাল, কিন্তু সবসময় যথেষ্ট নয়। কোনও ব্যাপার না, আপনি কতবার ডেটাতে পিসিএ প্রয়োগ করবেন - সম্পর্ক সর্বদা লিনিয়ার থাকবে।1m x = মি i = 1 ডব্লু আই সি আইc1..cmx=i=1mwici

অন্যদিকে অটেনকোডারস এবং আরবিএম প্রকৃতির দ্বারা অ-রৈখিক, এবং এইভাবে, তারা দৃশ্যমান এবং লুকানো ইউনিটের মধ্যে আরও জটিল সম্পর্ক শিখতে পারে। তদুপরি, এগুলি স্ট্যাক করা যেতে পারে , যা তাদের আরও শক্তিশালী করে তোলে। যেমন আপনি আর দৃশ্যমান এবং লুকানো ইউনিট দিয়ে প্রশিক্ষণ দিন , তারপরে আপনি দৃশ্যমান এবং লুকানো ইউনিটগুলির সাথে আর একটি আরবিএম প্রথমটির উপরে রাখবেন এবং এটিও প্রশিক্ষণ দিন ইত্যাদি। এবং ঠিক একইভাবে অটোএনকোডারগুলির সাথে।এম এম কেnmmk

তবে আপনি কেবল নতুন স্তর যুক্ত করবেন না। প্রতিটি স্তরে আপনি পূর্বের একটি থেকে কোনও ডেটার জন্য সেরা সম্ভাব্য উপস্থাপনা শেখার চেষ্টা করুন:

এখানে চিত্র বর্ণনা লিখুন

উপরের চিত্রটিতে এমন একটি গভীর নেটওয়ার্কের উদাহরণ রয়েছে। আমরা সাধারণ পিক্সেল দিয়ে শুরু করি, সাধারণ ফিল্টারগুলি দিয়ে এগিয়ে যাই, তারপরে মুখের উপাদানগুলির সাথে এবং শেষ পর্যন্ত পুরো মুখগুলি দিয়ে শেষ করি! এটি গভীর শিক্ষার সারমর্ম ।

এখন নোট করুন, এই উদাহরণে আমরা চিত্রের ডেটা নিয়ে কাজ করেছি এবং ক্রমান্বয়ে স্থানিকভাবে নিকটবর্তী পিক্সেলের বৃহত্তর এবং বৃহত্তর অঞ্চল নিয়েছি। এটির মতো শোনাচ্ছে না? হ্যাঁ, কারণ এটি গভীর সমঝোতা নেটওয়ার্কের একটি উদাহরণ । এটি অটোরকোডার বা আরবিএম-এর উপর ভিত্তি করে, এটি স্থানীয়তার গুরুত্বকে বোঝাতে দৃ .়প্রত্যয় ব্যবহার করে। এজন্য সিএনএনগুলি অটোরকোডার এবং আরবিএম থেকে কিছুটা আলাদা।

শ্রেণীবিন্যাস

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


3
@ ফ্রেন্ড খুব সংক্ষিপ্ত এবং স্পষ্ট ব্যাখ্যা। এই বিষয়গুলি সম্পর্কে অনেক কিছু লেখা আছে তবে আপনার ব্রিফিংটি দুর্দান্ত। "রক দ্যস্টার" আপনি যদি আরও বিশদ ব্যাখ্যা চান তবে আপনি যোশুয়া বেঞ্জিওর এই 100 পৃষ্ঠাগুলির বইটি পড়তে পারেন (www.iro.umontreal.ca/~bengioy/papers/ftML_book.pdf)
জাভেয়েরফ্ডার

ইভেন্টের ক্রম পূর্বাভাস দেওয়ার জন্য আপনি কী ব্যবহার করবেন?
স্ক্যান

2
@skan: কটাক্ষপাত করা RNNs । বিশেষত, এলএসটিএম এখন বেশ জনপ্রিয়। যোগ্য উত্তর পেতে আপনি আরও বিশদ সহ একটি পৃথক প্রশ্ন জিজ্ঞাসা করতে পারেন, কারণ আরএনএনগুলি আমার দক্ষতার ক্ষেত্র নয়।
বন্ধু

15

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

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

আরবিএমগুলিও একটি নিউরাল নেটওয়ার্ক। তবে নেটওয়ার্কটির ব্যাখ্যা সম্পূর্ণ আলাদা। আরবিএমগুলি নেটওয়ার্কটিকে ফিডফোরওয়ার্ড হিসাবে নয়, তবে দ্বিপক্ষীয় গ্রাফ হিসাবে ব্যাখ্যা করে যেখানে লুকানো এবং ইনপুট ভেরিয়েবলগুলির যৌথ সম্ভাব্যতা বন্টন শিখতে হবে। তারা গ্রাফিকাল মডেল হিসাবে দেখা হয়। মনে রাখবেন যে অটোইনকোডার এবং সিএনএন উভয়ই একটি ডিটারমিনিস্টিক ফাংশন শিখেন। অন্যদিকে আরবিএমগুলি হ'ল জেনারেটরি মডেল। এটি শিখে নেওয়া লুকানো উপস্থাপনা থেকে নমুনা তৈরি করতে পারে। আরবিএম প্রশিক্ষণ দেওয়ার জন্য বিভিন্ন অ্যালগরিদম রয়েছে। তবে, দিন শেষে, আরবিএমগুলি শিখার পরে, আপনি তার নেটওয়ার্ক ওজনগুলি ফিডফোরওয়ার্ড নেটওয়ার্ক হিসাবে ব্যাখ্যা করতে ব্যবহার করতে পারেন।


6

আরবিএমগুলিকে এক প্রকারের সম্ভাব্য অটো এনকোডার হিসাবে দেখা যেতে পারে। প্রকৃতপক্ষে, এটি প্রদর্শিত হয়েছে যে নির্দিষ্ট পরিস্থিতিতে তারা সমতুল্য হয়।

তবুও, এই সমতাটি দেখানো আরও শক্ত যে কেবল তারা ভিন্ন ভিন্ন জন্তু believe সত্যিই, আমি নিবিড়ভাবে দেখতে শুরু করার সাথে সাথে তিনটির মধ্যে অনেক মিল খুঁজে পাওয়া আমার পক্ষে কঠিন।

যেমন আপনি যদি কোনও অটো এনকোডার, একটি আরবিএম এবং সিএনএন দ্বারা প্রয়োগ করা ফাংশনগুলি লিখে রাখেন তবে আপনি তিনটি সম্পূর্ণ আলাদা গাণিতিক এক্সপ্রেশন পান।


1

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


স্বয়ংক্রিয়কোডারটি তদারকি করা হয়, যেমন আপনি প্রদত্ত ইনপুট হিসাবে একই তথ্য তৈরি করতে প্রশিক্ষণ দেবেন, কেবলমাত্র একটি ছোট লুকানোপ্লেয়ার দিয়ে, যাতে নেটওয়ার্ককে একটি উপযুক্ত এনকোডিং সন্ধান করতে হয়, যা ইনপুটটিকে লুকানো স্তরের আকার এবং পিছনে রূপান্তরিত করে । SOM বা নিউরাল গ্যাসের মতো স্ট্যাটিস্টিকাল নেটওয়ার্কগুলিতে যেমন আনসওয়ারওয়াইজড ট্রেনিংয়ে ব্যবহৃত হয়, আপনার কাছে কোনও লক্ষ্য তথ্য নেই যা আউটপুট হিসাবে নেটওয়ার্কের কাছে উপস্থাপিত হয়।
এসসিআই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.