পাঠ ০১ · ৫৭-এর মধ্যে · মডিউল ১
Home / AI Courses / Human-Centered AI / পরিচিতি

Human-Centered AI কী এবং কেন এটি গুরুত্বপূর্ণ

What is Human-Centered AI & why it matters
৮ মিনিট পড়া মধ্যম · Intermediate Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • Human-Centered AI-এর সংজ্ঞা এবং এটি AI Ethics ও Machine Learning থেকে কীভাবে আলাদা
  • কেন "মডেল অ্যাকুরেট" হওয়া আর "মানুষ AI-কে সঠিকভাবে ব্যবহার করতে পারা" দুটো ভিন্ন প্রশ্ন
  • এই কোর্স ঠিক কী কভার করে ও কীভাবে সাজানো হয়েছে
  • একটি সত্যিকারের, চলমান ডেমো — কীভাবে একটি সরল "ট্রাস্ট হিউরিস্টিক" AI-এর অ্যাকুরেসি হঠাৎ কমে গেলেও ভুলভাবে বিশ্বাস করতে থাকে

১ · Human-Centered AI কী

Human-Centered AIHuman-Centered AIAI সিস্টেম এমনভাবে ডিজাইন করার চর্চা যাতে মানুষ সেটি বুঝতে পারে, নিয়ন্ত্রণে রাখতে পারে, এবং তার প্রকৃত নির্ভরযোগ্যতার সাথে সামঞ্জস্যপূর্ণভাবে বিশ্বাস করতে পারে। হলো AI সিস্টেম ডিজাইন করার একটি দৃষ্টিভঙ্গি যেখানে মডেলের অ্যাকুরেসি একা যথেষ্ট বিবেচনা করা হয় না — বরং দেখা হয় একজন প্রকৃত ব্যবহারকারী সেই মডেলের সাথে কীভাবে মিথস্ক্রিয়া করবে: সে কি বুঝতে পারবে মডেল কখন ভুল হতে পারে? সে কি প্রয়োজনে সিদ্ধান্ত ওভাররাইড করতে পারবে? নাকি সে অন্ধভাবে AI-কে বিশ্বাস করা শুরু করবে?

২ · কেন এটি বিশেষভাবে গুরুত্বপূর্ণ

অ্যাকুরেসি ≠ ব্যবহারযোগ্যতা
একটি মডেল ল্যাবে ৯৫% অ্যাকুরেট হতে পারে, কিন্তু বাস্তব ব্যবহারকারী যদি বুঝতে না পারে কোন ৫% ক্ষেত্রে ভুল হচ্ছে, তাহলে সেই "ভালো" মডেলও খারাপ ফলাফল দিতে পারে।
ভুল-ক্যালিব্রেটেড ট্রাস্ট
মানুষ AI-কে হয় অতিরিক্ত বিশ্বাস করে (অটোমেশন বায়াস) অথবা প্রয়োজনের চেয়ে কম বিশ্বাস করে (একেবারে ব্যবহার বন্ধ করে দেয়) — দুটোই ক্ষতিকর, এবং দুটোই ডিজাইন দিয়ে প্রভাবিত করা যায় (M3-এ বিস্তারিত)।
মানুষ ও AI একসাথে
বেশিরভাগ বাস্তব সিস্টেমে AI একা সিদ্ধান্ত নেয় না — একজন মানুষ সেই সিদ্ধান্ত দেখে, যাচাই করে বা ওভাররাইড করে। সেই মিথস্ক্রিয়াটি ভালোভাবে ডিজাইন করাই HCAI-এর মূল কাজ (M5, M8-এ বিস্তারিত)।
AI Ethics কোর্সের সাথে সম্পর্ক

AI Ethics কোর্স জিজ্ঞাসা করে "এই AI সিদ্ধান্তটি কি ন্যায্য/নৈতিকভাবে গ্রহণযোগ্য?" — নৈতিক ফ্রেমওয়ার্ক, বায়াস-ফেয়ারনেস মেট্রিক্স, প্রাইভেসি ও রেগুলেশনের মতো বিষয় নিয়ে। এই কোর্স ভিন্ন প্রশ্ন জিজ্ঞাসা করে: "একজন মানুষ কীভাবে এই AI সিস্টেমটির সাথে কার্যকরভাবে কাজ করবে?" — ইন্টারঅ্যাকশন ডিজাইন, ট্রাস্ট ক্যালিব্রেশন, এক্সপ্লেইনেবিলিটির UX দিক, ও ইউজেবিলিটি ইভালুয়েশন নিয়ে। দুটো কোর্স পরিপূরক — একটি সিস্টেম নৈতিকভাবে সঠিক হয়েও খারাপভাবে ডিজাইন করা হতে পারে, আবার চমৎকার ইন্টারঅ্যাকশন ডিজাইন থাকা সত্ত্বেও নৈতিক সমস্যা থাকতে পারে — দুটো দৃষ্টিকোণই দরকার।

৩ · একটি সত্যিকারের ডেমো — ভুল-ক্যালিব্রেটেড ট্রাস্ট

ধরা যাক একজন ব্যবহারকারী একটি AI অ্যাসিস্ট্যান্টের পরামর্শ ব্যবহার করেন, এবং তার ট্রাস্ট-হিউরিস্টিকটি সরল: "গত তিনটি পরামর্শ যদি সঠিক ছিল, তাহলে পরেরটাও না যাচাই করেই মেনে নাও।" প্রথম ২৫টি ক্ষেত্রে (পরিচিত, ভালোভাবে-পরীক্ষিত পরিস্থিতি) AI-এর অ্যাকুরেসি ৯০%, কিন্তু পরের ২৫টি ক্ষেত্রে (একটি নতুন, কম-পরিচিত পরিস্থিতি — যেমন একটি ভিন্ন ধরনের ইনপুট) AI-এর অ্যাকুরেসি হঠাৎ ৫৫%-এ নেমে যায়। নিচের কোড সেলে দেখা যাক এই সরল হিউরিস্টিকের ফলাফল কী হয়।

Python
import random
random.seed(7)

def generate_ai_outcomes(n, accuracy):
    # প্রতিটি এন্ট্রি True মানে AI সেই ক্ষেত্রে সঠিক ছিল
    return [random.random() < accuracy for _ in range(n)]

# পর্যায় ১: পরিচিত পরিস্থিতি, AI অ্যাকুরেসি ৯০%
phase1 = generate_ai_outcomes(25, 0.90)
# পর্যায় ২: নতুন, কম-পরিচিত পরিস্থিতি -- AI অ্যাকুরেসি হঠাৎ কমে ৫৫%
phase2 = generate_ai_outcomes(25, 0.55)
outcomes = phase1 + phase2

def naive_user_accepts(outcomes, window=3):
    # সরল হিউরিস্টিক: গত `window`-টি সঠিক হলে পরেরটা বিনা-যাচাইয়ে গ্রহণ করো
    decisions = []
    for i in range(len(outcomes)):
        if i < window:
            accept_without_check = False  # শুরুতে যথেষ্ট ইতিহাস নেই
        else:
            recent = outcomes[i-window:i]
            accept_without_check = all(recent)
        decisions.append(accept_without_check)
    return decisions

decisions = naive_user_accepts(outcomes)

def error_rate_when_trusting(outcomes, decisions):
    trusted = [outcomes[i] for i in range(len(outcomes)) if decisions[i]]
    if not trusted:
        return 0.0
    wrong = sum(1 for ok in trusted if not ok)
    return wrong / len(trusted) * 100

phase1_decisions = decisions[:25]
phase2_decisions = decisions[25:]

err1 = error_rate_when_trusting(phase1, phase1_decisions)
err2 = error_rate_when_trusting(phase2, phase2_decisions)

print(f"পর্যায় ১ (পরিচিত, AI অ্যাকুরেসি ~৯০%): {sum(phase1_decisions)}/25 বার বিনা-যাচাইয়ে বিশ্বাস করা হলো")
print(f"  -> সেই বিশ্বাস করা সিদ্ধান্তগুলোর ভুলের হার: {err1:.1f}%")
print(f"\nপর্যায় ২ (নতুন পরিস্থিতি, AI অ্যাকুরেসি ~৫৫%): {sum(phase2_decisions)}/25 বার বিনা-যাচাইয়ে বিশ্বাস করা হলো")
print(f"  -> সেই বিশ্বাস করা সিদ্ধান্তগুলোর ভুলের হার: {err2:.1f}%")

    
লক্ষ্য করুন — পর্যায় ১-এ (AI যখন সত্যিই নির্ভরযোগ্য) বিনা-যাচাইয়ে বিশ্বাস করা সিদ্ধান্তগুলোর ভুলের হার মাত্র ৬.২%, কিন্তু পর্যায় ২-এ (AI-এর অ্যাকুরেসি হঠাৎ কমে যাওয়ার পরও) ব্যবহারকারীর হিউরিস্টিক এখনও ৬ বার বিনা-যাচাইয়ে বিশ্বাস করেছে, এবং সেই সিদ্ধান্তগুলোর ভুলের হার লাফিয়ে ৩৩.৩%-এ পৌঁছেছে। ব্যবহারকারীর হিউরিস্টিক নিজে কিছু ভুল করেনি — সমস্যা হলো এটি AI-এর প্রকৃত নির্ভরযোগ্যতা কখন বদলে গেছে তা বুঝতেই পারেনি। এটাই ভুল-ক্যালিব্রেটেড ট্রাস্ট — এবং এটি ব্যবহারকারীর দোষ নয়, এটি একটি ডিজাইন সমস্যা যা M3-এ বিস্তারিত সমাধান করা হবে।
মূল কথা · Key takeaway

Human-Centered AI মানে শুধু "একটি ভালো মডেল বানানো" নয় — এর জন্য দরকার সিস্টেমেটিক ডিজাইন চিন্তা: মানুষ কীভাবে AI-এর নির্ভরযোগ্যতা বুঝবে, কখন তা বদলে যাচ্ছে তা কীভাবে টের পাবে, এবং প্রয়োজনে কীভাবে নিয়ন্ত্রণ ফিরিয়ে নেবে। এই কোর্স ধাপে ধাপে — ট্রাস্ট ক্যালিব্রেশন থেকে এক্সপ্লেইনেবিলিটি, হিউম্যান-ইন-দ্য-লুপ ডিজাইন, অ্যাক্সেসিবিলিটি, এবং ইউজেবিলিটি ইভালুয়েশন পর্যন্ত — এই সিস্টেমেটিক টুলকিট শেখাবে।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ উপরের ডেমোতে ব্যবহারকারীর হিউরিস্টিক ("গত ৩টি সঠিক হলে পরেরটা বিশ্বাস করো") কি নিজে "ভুল" ছিল? তাহলে সমস্যাটা আসলে কোথায়?

হিউরিস্টিকটি নিজে অযৌক্তিক নয় — বাস্তব জীবনে অনেকেই এভাবেই ট্রাস্ট তৈরি করেন। সমস্যা হলো এটি স্ট্যাটিক — এটি ধরে নেয় AI-এর নির্ভরযোগ্যতা সবসময় একই থাকবে। যখন AI নতুন পরিস্থিতিতে (ভিন্ন ইনপুট ডোমেইন) কম নির্ভরযোগ্য হয়ে যায়, হিউরিস্টিকের কোনো উপায় নেই সেটা বুঝার, কারণ এটি শুধু সাম্প্রতিক ফলাফল দেখে, প্রসঙ্গ (context) দেখে না। এটাই দেখায় কেন শুধু ব্যবহারকারীর "কমনসেন্স"-এর উপর নির্ভর না করে সিস্টেমকেই সক্রিয়ভাবে অনিশ্চয়তা/ডোমেইন-শিফট সিগন্যাল দিতে হয় (M2, M3-এ বিস্তারিত)।

প্র ০২ যদি AI সিস্টেমটি নিজে থেকে প্রতিটি পরামর্শের সাথে একটি "কনফিডেন্স স্কোর" দেখাতো, তাহলে এই সমস্যাটি কীভাবে কমতে পারতো?

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

প্র ০৩ বাস্তব জীবনে এমন একটি উদাহরণ চিন্তা করুন যেখানে মানুষ একটি প্রযুক্তির উপর ভুল-ক্যালিব্রেটেড ট্রাস্ট রাখে — হয় অতিরিক্ত, নয়তো প্রয়োজনের চেয়ে কম।

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

অনুশীলন

  1. চিন্তা করুন: উপরের কোড সেলে window-কে 3 থেকে 5-এ বাড়ালে (অর্থাৎ ৫টি সঠিক দেখার পর বিশ্বাস করা শুরু করলে) পর্যায় ২-এর ভুলের হার কি কমবে বলে আপনার ধারণা?

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

  2. পরীক্ষা করুন: উপরের কোড সেলে naive_user_accepts(outcomes)-কে naive_user_accepts(outcomes, window=5)-এ পরিবর্তন করে Run চেপে আপনার অনুমান যাচাই করুন।

    window=5-এ পর্যায় ১-এ বিশ্বাস করার সংখ্যা ২৫-এর মধ্যে ১৩-এ নেমে আসে (ভুলের হার ৭.৭%), আর পর্যায় ২-এ মাত্র ৩ বার বিশ্বাস করা হয় — কিন্তু সেই ৩টির মধ্যে ভুলের হার আসলে বেড়ে ৬৬.৭%-এ পৌঁছায়! এটি ঠিক অনুমান ১-এর সতর্কতাটিই প্রমাণ করে — window বাড়ানো "নিরাপদ" মনে হলেও, কম নমুনায় (মাত্র ৩টি) ফলাফল অনেক বেশি অস্থির, এবং যখনই ৫টি টানা সঠিক হওয়ার (এলোমেলো) সুযোগ ঘটে তখন সেটি প্রায়ই নেহাত কাকতালীয় হয় — window বাড়ানো প্রকৃত সমাধান নয়, প্রকৃত সমাধান হলো সিস্টেমকে সরাসরি তার অনিশ্চয়তা/প্রসঙ্গ জানাতে বলা (M3)।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

  • কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ ব্যবহারকারী ও প্রেক্ষাপট, ট্রাস্ট ক্যালিব্রেশন, এক্সপ্লেইনেবিলিটি, হিউম্যান-ইন-দ্য-লুপ ডিজাইন, কগনিটিভ লোড, অ্যাক্সেসিবিলিটি, হিউম্যান-AI টিমিং, ইউজেবিলিটি ইভালুয়েশন, ইন্ডাস্ট্রি ফ্রেমওয়ার্ক ও ক্যাপস্টোন — বাকি পাঠগুলো শীঘ্রই যুক্ত হবে।
  • AI Ethics কোর্স সহোদর কোর্স নৈতিক ফ্রেমওয়ার্ক, বায়াস-ফেয়ারনেস, প্রাইভেসি ও AI অ্যালাইনমেন্টের গভীর কভারেজ — এই কোর্স সেই ভিত্তির উপর ইন্টারঅ্যাকশন ডিজাইনের দিকটি যোগ করে।
  • সব Courses দেখুন ABCL TECH C, C++, Python, Java, JavaScript, DSA, Machine Learning, Deep Learning, System Design, Cybersecurity, Cloud Computing & DevOps, এবং আরও অনেক কোর্স — সব এক জায়গায়।
কোর্সে ফিরে যান
Human-Centered AI — সব পাঠ