ফেনোট্রপিক প্রোগ্রাম ডিজাইন


15

আমি সম্প্রতি জারন ল্যানিয়ার "ফেনোট্রপিক প্রোগ্রামিং" নামে একটি ধারণা রেখেছি।

ধারণাটি হ'ল কম্পিউটার প্রোগ্রামগুলিতে একক পয়েন্ট ইন্টারফেসের পরিবর্তে 'সারফেস' ইন্টারফেসগুলি ব্যবহার করা উচিত যা পরিসংখ্যানগুলি ব্যবহার করে ছোটখাটো ত্রুটিগুলি মুছে ফেলা হয় যা সাধারণত "শাস্ত্রীয়" প্রোগ্রামটিকে বিপর্যয়করভাবে বিধ্বস্ত করতে পারে।

দ্বি-লাইনের বর্ণনা এখানে রয়েছে:

জারনের মতে, 'সফটওয়্যারটির বর্তমান ধারণার মধ্যে প্রকৃত পার্থক্য, যা প্রোটোকল আনুগত্য, এবং [তিনি] আলোচনা করছেন, প্যাটার্ন স্বীকৃতি, আমরা যে ধরণের ত্রুটি তৈরি করছি তার সাথে সম্পর্কযুক্ত' এবং 'যদি আমরা না করি 'সফ্টওয়্যার সম্পর্কে ভাবনা এবং তৈরি করার কোনও আলাদা উপায় খুঁজে পাওয়া যায় না, আমরা আমাদের প্রসেসর যত তাড়াতাড়ি দ্রুত হয়ে উঠুক না কেন, প্রায় 10 মিলিয়ন কোডের কোডের চেয়ে বড় প্রোগ্রাম লিখব না' '

সামান্য দীর্ঘ ব্যাখ্যা এখানে । এবং আরও দীর্ঘতর ব্যাখ্যা এখানে

সুতরাং, প্রশ্নটি, লোকেরা যে সমস্ত স্পষ্টতই রোবট-ওভারলর্ডের ধারণা গ্রহণের প্রবণতা অর্জন করে, তার প্রেক্ষাপটে কীভাবে একজন বাস্তবে ডিজাইন করবেন এবং একটি "ফেনোট্রপিক প্রোগ্রাম" লিখবেন?


1
কোনও অপরাধ নয় তবে আপনি যে নিবন্ধগুলি সংযুক্ত করেছেন তা খুব অস্পষ্ট এবং নিষ্পাপ। আপনি যা বুঝেন সে সম্পর্কে আপনি আরও সুনির্দিষ্ট হতে পারেন phenotropic program?
সাইমন বার্গোট

আর কখনও পড়ুন through এটি গুরুর বিশদভাবে বর্ণনা করে।
এড

4
আমি মনে করি এর উত্তর দেওয়ার একমাত্র উপায় হ'ল "ফেনোট্রপিক প্রোগ্রাম" কী তা নির্ধারণ করা। যে ক্ষেত্রে উত্তরটি মতামত ভিত্তিক হয়ে যায়। সুতরাং "ফেনোট্রপিক প্রোগ্রাম" কীভাবে লিখবেন তা জিজ্ঞাসার আগে জিজ্ঞাসা করুন "ফেনোট্রপিক প্রোগ্রাম" কী।
ইওফোরিক

1
@ সিমন: প্রশ্নটি মূলত একই জিনিসটি জিজ্ঞাসা করে, তাই আমি জানি না যে ওপি আসলে নিজেই প্রশ্নের উত্তর না দিয়েই আপনার অনুরোধ সম্ভব।
রবার্ট হার্ভে

1
সম্পর্কিত বিষয় ( পাঠকের
থিয়াগো সিলভা

উত্তর:


23

ল্যানিয়ার একটি নির্দিষ্ট ধারণার আশেপাশে একটি জাল ফেলার প্রয়াসে একটি 50 শতাংশ শব্দ আবিষ্কার করেছেন যা নির্দিষ্ট কিছু সনাক্তযোগ্য বৈশিষ্ট্যযুক্ত কম্পিউটার প্রোগ্রাম তৈরির জন্য একটি গণনীয় মডেল বর্ণনা করে।

শব্দের অর্থ:

ফাংশন অনুরোধ বা বার্তা পাসের জায়গায় প্যাটার্ন স্বীকৃতি বা কৃত্রিম জ্ঞান ব্যবহার করে এমন উপাদানগুলির ইন্টারঅ্যাকশন সম্পর্কিত একটি প্রক্রিয়া।

ধারণাটি মূলত জীববিজ্ঞান থেকে আসে। আপনার চোখ বিশ্বের সাথে ইন্টারফেস করে, যেমন কোনও ফাংশন See(byte[] coneData)দিয়ে নয় , রেটিনা নামক একটি পৃষ্ঠের মাধ্যমে । এটি একটি তুচ্ছ পার্থক্য নয়; একটি কম্পিউটার অবশ্যই সমস্ত বাইট coneDataএক এক করে স্ক্যান করতে পারে, যেখানে আপনার মস্তিষ্ক those সমস্ত ইনপুট একসাথে প্রসেস করে।

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

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

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

  1. ইনপুট এবং আউটপুট "পৃষ্ঠতল" দেখতে কেমন? এগুলি কি স্থিতিশীল, বা সময়ের সাথে সাথে তারা আকারে পৃথক হয়?
  2. আপনি কীভাবে নেটওয়ার্ক স্ট্রাকচারটি পেতে পারেন?
  3. আপনি কিভাবে নেটওয়ার্ক প্রশিক্ষণ?
  4. আপনি কীভাবে পর্যাপ্ত পারফরম্যান্স বৈশিষ্ট্য পাবেন?

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

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

... যেখানে এক্স অক্ষগুলি ALN- তে কিছু ইনপুট উপস্থাপন করে এবং Y অক্ষটি কিছু আউটপুট উপস্থাপন করে। নির্ভুলতার উন্নতি করার জন্য প্রয়োজনীয় লিনিয়ার ফাংশনগুলির সংখ্যাটি কল্পনা করুন, এবং ধারণা করুন যে সমস্ত প্রক্রিয়া n স্বেচ্ছাসেবী মাত্রা জুড়ে ঘটছে, পুরোপুরি AND এবং OR যুক্তি গেট দিয়ে প্রয়োগ করা হয়েছে এবং আপনার কোনও ALN দেখতে কেমন তার কিছুটা ধারণা রয়েছে।

আ.ল.এন. এর কিছু নির্দিষ্ট এবং খুব আকর্ষণীয় বৈশিষ্ট্য রয়েছে:

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

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

অ্যালান কে দ্বারা "
ঝুঁকি মূল্যায়ন " বনাম "বার্তা ওরিয়েন্টেড" বনাম " ঝুঁকি মূল্যায়ন " নিরীক্ষণের জন্য একটি অ্যাপ্লিকেশন সহ অ্যাডাপটিভ লজিক নেটওয়ার্কগুলির পরিচিতি আরও পড়া


1
আমি ভুল হলে আমাকে সংশোধন করুন, তবে একটি "পৃষ্ঠ" ইনপুট একটি সংগ্রহের মতো মনে হচ্ছে - স্বতন্ত্র (বা বেশিরভাগ স্বতন্ত্র) উপাদানগুলির। চক্ষুর উদাহরণে, এটি দেখতে সম্ভবত এটির মতো লাগবে See(List<Cone> cones)(যেখানে প্রত্যেকে Coneএকে অপর থেকে স্বতন্ত্র), হ্যাঁ?
হতাশ

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

3
উত্তর: "আরও দোষ সহনশীল" " ল্যানিয়ার কি কখনও অপটিক্যাল মায়া দেখেছেন? সে কি কখনও মস্তিষ্কের মনোবিজ্ঞানের দিকে নজর দিয়েছে? মস্তিষ্কের ইনপুটগুলি এটি কী বলছে তা বোঝার চেষ্টা করার চেষ্টা করা হবে না, এই সিদ্ধান্তে কীভাবে ভুল হবে তা নিয়ে কোনও বিষয় নেই। মস্তিষ্ক যেভাবে কাজ করে তা অত্যন্ত ত্রুটিপূর্ণ। সুতরাং, যতক্ষণ না প্রোগ্রামের বেশিরভাগ ঘাটতি দেখা দেয় না ঠিক তেমনি একজন সাধারণ মানুষের মতোই, তবে আমি মনে করি যে মডেলটি উল্লেখ করা হয়েছে তা ঠিক আছে। যাইহোক, বেশিরভাগ সময় লোকেরা কম্পিউটারগুলি সঠিক হওয়ার প্রত্যাশা করে। কম্পিউটার চালিত গাড়ি বিক্রি করা শক্ত হবে যা বেশিরভাগ সময় দুর্ঘটনা এড়ায়।
ডাঙ্ক

2
@ ডাঙ্ক: ... তবে মানব চালকদের জন্য গাড়ি তৈরি এবং বিক্রয় করা আইনসম্মত যা বেশিরভাগ সময় দুর্ঘটনা এড়াতে পরিচালনা করে।
ডক ব্রাউন 19

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

1

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

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

class Birdish

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

অ্যালার্ম ঘড়ি সেট করার মতো সহজ কিছু আমার বর্তমান অভ্যাসের পর্যবেক্ষণ / বিশ্লেষণ দ্বারা করা যেতে পারে। ডিজিটাল দ্বারা প্রযুক্তিটি প্রতিস্থাপনের আগে আমরা ভিসিআর টাইমার স্থাপন করা ছেড়ে দিয়েছিলাম। এবং এটি কী দ্রুত ঘটতে পারত যদি আমরা ভিসিআরের সাথে টিভি গাইডকে ইন্টারফেস করতে পারতাম? আমি একই টিভি শো একই সাথে একটানা 4 সপ্তাহ দেখেছি, তবে 5 তম অনুষ্ঠানটি আমি টিভিটি চালুও করি নি। অবশ্যই আমি এটি রেকর্ড করতে চাই। আপনি কি বলতে পারবেন না যে আমি এই পোস্টটি লেখার জন্য কাজ করতে দেরি করছি এবং আমার সাধারন যাতায়াত সময়মতো এটিকে ঘরে তুলবে না? আপনি ডেটা পেয়েছেন, গণিত করুন।

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


1

স্কালায় একটি সম্ভাব্য প্রোগ্রামিং ল্যাঙ্গুয়েজ সংজ্ঞায়নের জন্য এখানে একটি স্লাইড সেট ।

জারন ল্যানিয়ার প্রস্তাবিত সিস্টেমের মূল উপাদানগুলির জন্য এটি প্রথম শালীন প্রয়োগের উদাহরণ।


এটি দেখতে খুব সুন্দর লাগছে। সম্ভবত আমি জাভা জন্য একটি লাইব্রেরি ডিজাইন করতে একটি ছুরিকা গ্রহণ করব যা একইভাবে করে।
ক্রিয়াবিশেষণ

@ অ্যাডভি আপনি কীভাবে তা খুঁজে পাবেন?
নিউ আলেকজান্দ্রিয়া

1
আমি যখন এটি তৈরির কাছাকাছি আসি তখন আমি গিথুব রেপোতে একটি লিঙ্ক পোস্ট করব।
অ্যাডভোকেট

-1

আমি সম্প্রতি একটি চিন্তা ছিল:

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

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


এই প্রশ্ন জিজ্ঞাসা উত্তর কিভাবে?
8:38

যদি আমি সঠিকভাবে বুঝতে পারি তবে ফেনোট্রপিক প্রোগ্রামিং বৃহত (প্রায়শই মাল্টি কম্পিউটার), শক্তিশালী সিস্টেম প্রোগ্রাম করার একটি উপায়। সমস্যাটি হ'ল, সমস্ত জৈবিক রূপকগুলি ব্যবহারিক প্রোগ্রামিং পদগুলিতে অনুবাদ করা অস্পষ্ট এবং কঠিন করে তোলে। এখানে আমি পরামর্শ দিচ্ছি যে নির্দিষ্ট কিছু প্রোগ্রামিং কনস্ট্রাক্টগুলি অস্পষ্ট নয় (যেমন: মনডস, প্রতিশ্রুতি ইত্যাদি) ল্যানিয়ারের কংক্রিটের সেই ধারণাগুলিগুলির কয়েকটি তৈরি করতে এবং ব্যবহারিকভাবে প্রগতিশীল হতে পারে))
ইন্টারস্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.