পাঠ ৪৩ · ৫৭-এর মধ্যে · মডিউল ১০
Home / AI Courses / AI Ethics / সেক্টর-স্পেসিফিক AI এথিক্স

ক্রিমিনাল জাস্টিসে AI এথিক্স

AI ethics in criminal justice
১২ মিনিট পড়া মধ্যম · Intermediate Python কোডসহ সম্পূর্ণ বাংলায়

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

  • COMPAS-এর (L11) বাইরে ক্রিমিনাল-জাস্টিস AI-এর বৃহত্তর প্রয়োগ — প্রেডিক্টিভ পুলিশিং, প্রি-ট্রায়াল রিস্ক অ্যাসেসমেন্ট
  • ফিডব্যাক-লুপ কীভাবে কাজ করে: রিস্ক স্কোর → টহল বরাদ্দ → রেকর্ডেড ইনসিডেন্ট → আপডেটেড রিস্ক স্কোর
  • একটি সত্যিকারের সিমুলেশন যা দেখায় কেন এটি স্ট্যাটিক ক্লাসিফায়ার-বায়াসের (M3) চেয়ে গুণগতভাবে ভিন্ন একটি ঝুঁকি
  • কেন "ডেটা যা বলছে তাই সত্য" ধরে নেওয়া প্রেডিক্টিভ পুলিশিং-এ বিশেষভাবে বিভ্রান্তিকর হতে পারে

১ · COMPAS থেকে বৃহত্তর ক্রিমিনাল জাস্টিস

M3/L11-এ আমরা COMPAS-এর মতো রিসিডিভিজম-রিস্ক টুল নিয়ে আলোচনা করেছিলাম — 2016 সালের ProPublica "Machine Bias" তদন্ত এবং সামগ্রিক ক্যালিব্রেশন বনাম গোষ্ঠীভেদে ভিন্ন FPR/FNR নিয়ে পদ্ধতিগত বিতর্ক। সেটি ছিল মূলত একটি এক-বারের ক্লাসিফিকেশন সমস্যা — একটি ব্যক্তিকে একটি স্কোর দেওয়া হয়, ব্যস। কিন্তু ক্রিমিনাল-জাস্টিস সিস্টেমে AI আরও ব্যাপকভাবে ব্যবহৃত হয় — প্রি-ট্রায়াল রিস্ক অ্যাসেসমেন্ট, সেন্টেন্সিং সহায়ক টুল, এবং প্রেডিক্টিভ পুলিশিং (কোন এলাকায় বেশি টহল পাঠানো উচিত তা প্রেডিক্ট করা)। প্রেডিক্টিভ পুলিশিং-এর একটি বিশেষত্ব আছে যা COMPAS-এর মতো এক-বারের ক্লাসিফায়ারে নেই — এটি একটি ডাইনামিক সিস্টেম, যেখানে সিস্টেমের নিজের সিদ্ধান্তই পরবর্তী রাউন্ডের ট্রেনিং/আপডেট ডেটা তৈরি করে।

রিস্ক স্কোর (এলাকা অনুযায়ী) টহল বরাদ্দ স্কোরের অনুপাতে রেকর্ডেড ইনসিডেন্ট বেশি টহল = বেশি রেকর্ড আপডেটেড রিস্ক স্কোর (পরবর্তী রাউন্ডের ইনপুট) পরবর্তী রাউন্ডে পুনরাবৃত্তি
প্রতিটি রাউন্ডের আউটপুট (রেকর্ডেড ইনসিডেন্ট) পরবর্তী রাউন্ডের ইনপুট (রিস্ক স্কোর) হয়ে যায় -- এটিই লুপটিকে সেলফ-রিইনফোর্সিং করে তোলে।

২ · কেন "রেকর্ডেড ইনসিডেন্ট" প্রকৃত অপরাধের হার নয়

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

৩ · একটি সত্যিকারের সিমুলেশন — বায়াস কীভাবে কম্পাউন্ড করে

নিচের কোড সেলে দুটি সিন্থেটিক এলাকা (X ও Y) আছে — কোনো বাস্তব শহর বা প্রকৃত ডেটা নয়। দুটি এলাকারই প্রকৃত ইনসিডেন্ট-হার সম্পূর্ণ সমান রাখা হয়েছে প্রতিটি রাউন্ডে (এটাই সবচেয়ে গুরুত্বপূর্ণ সেটআপ — যদি ফলাফলে ব্যবধান দেখা যায়, তা প্রকৃত অপরাধ থেকে নয়, শুধু ফিডব্যাক-লুপ থেকেই এসেছে)। এলাকা X-এর শুরুর রিস্ক স্কোর সামান্য বেশি (হয়তো ঐতিহাসিক পুলিশিং প্যাটার্নের কারণে) — ০.৬৫ বনাম ০.৩৫। প্রতি রাউন্ডে: টহল বরাদ্দ রিস্ক স্কোরের অনুপাতে হয়, এবং টহল-উপস্থিতি বাড়লে রেকর্ডেড ইনসিডেন্ট রৈখিকভাবে নয় বরং সুপার-লিনিয়ারভাবে বাড়ে (একটি সরলীকৃত মডেলিং পছন্দ, বাস্তব সংখ্যা নয় — বেশি টহল মানে বেশি স্টপ, যা বাড়তি ঘটনা আবিষ্কারের সম্ভাবনা আনুপাতিকের চেয়ে বেশি বাড়ায় এমন ধারণাকে প্রতিফলিত করে)।

Python
# সিন্থেটিক, ইলাস্ট্রেটিভ সিমুলেশন -- কোনো বাস্তব শহর বা প্রকৃত পুলিশ ডেটা নয়

TRUE_INCIDENT_RATE = 100  # দুই এলাকাতেই প্রকৃত ইনসিডেন্ট-হার -- ইচ্ছাকৃতভাবে সম্পূর্ণ সমান, প্রতি রাউন্ডে অপরিবর্তিত
ROUNDS = 5

risk_x, risk_y = 0.65, 0.35  # প্রাথমিক (সম্ভবত ঐতিহাসিক বায়াসড) রিস্ক স্কোর -- যোগফল = ১.০

print(f"রাউন্ড ০ (শুরু):  এলাকা X = {risk_x:.3f}   এলাকা Y = {risk_y:.3f}   (ব্যবধান = {risk_x - risk_y:.3f})")

for round_num in range(1, ROUNDS + 1):
    # ধাপ ১: টহল বরাদ্দ -- বর্তমান রিস্ক স্কোরের অনুপাতে
    patrol_x, patrol_y = risk_x, risk_y

    # ধাপ ২: রেকর্ডেড ইনসিডেন্ট -- টহল-উপস্থিতির সাথে সুপার-লিনিয়ারভাবে বাড়ে (বর্গ করে সরলীকৃত)
    recorded_x = TRUE_INCIDENT_RATE * (patrol_x ** 2)
    recorded_y = TRUE_INCIDENT_RATE * (patrol_y ** 2)

    # ধাপ ৩: পরবর্তী রাউন্ডের রিস্ক স্কোর -- রেকর্ডেড ইনসিডেন্টের ভাগ অনুযায়ী পুনর্গণনা
    total_recorded = recorded_x + recorded_y
    risk_x, risk_y = recorded_x / total_recorded, recorded_y / total_recorded

    print(f"রাউন্ড {round_num}: রেকর্ডেড ইনসিডেন্ট X={recorded_x:.1f} Y={recorded_y:.1f}  ->  "
          f"নতুন স্কোর X={risk_x:.3f} Y={risk_y:.3f}  (ব্যবধান={risk_x - risk_y:.3f})")

print(f"\nমনে রাখুন: TRUE_INCIDENT_RATE দুই এলাকাতেই প্রতি রাউন্ডে অপরিবর্তিত ছিল ({TRUE_INCIDENT_RATE})। "
      f"তবুও শুধু টহল-বরাদ্দ ফিডব্যাক-লুপের কারণে রিস্ক-স্কোরের ব্যবধান প্রতি রাউন্ডে বেড়েছে।")

    
লক্ষ্য করুন আউটপুটে — শুরুতে ব্যবধান ছিল ০.৩০ (০.৬৫ বনাম ০.৩৫)। রাউন্ড ১-এ তা বেড়ে প্রায় ০.৫৫, রাউন্ড ২-এ প্রায় ০.৮৪, এবং কয়েক রাউন্ডের মধ্যেই এলাকা X-এর স্কোর প্রায় ১.০-এর কাছাকাছি চলে যায় (এলাকা Y প্রায় ০-এর কাছাকাছি) — অর্থাৎ কার্যত সব টহল-সম্পদ এলাকা X-এ কেন্দ্রীভূত হয়ে যায়। অথচ TRUE_INCIDENT_RATE কখনো বদলায়নি — দুই এলাকার প্রকৃত অপরাধ ছিল সবসময় সমান। এই ব্যবধান সম্পূর্ণভাবে লুপের একটি কৃত্রিম ফলাফল।
মূল কথা · Key takeaway

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

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

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

প্র ০১ উপরের সিমুলেশনে যদি শুরুর ব্যবধান আরও ছোট হতো (যেমন ০.৫২ বনাম ০.৪৮), তাহলে কি ফলাফল ভিন্ন হতো বলে আপনার মনে হয়?

দিকনির্দেশনা একই থাকবে — যেহেতু আপডেট নিয়ম বর্গ করে স্কোরের অনুপাত অনুযায়ী পুনর্বণ্টন করে, যেকোনো অ-শূন্য প্রাথমিক ব্যবধান সময়ের সাথে বাড়তেই থাকবে এবং শেষে (১, ০)-এর কাছাকাছি স্থিতিশীল হবে। তবে ছোট প্রাথমিক ব্যবধানের ক্ষেত্রে চরম পর্যায়ে পৌঁছাতে বেশি রাউন্ড লাগবে — অর্থাৎ ব্যবধান যত ছোটই হোক, লুপটি চলতে দিলে তা অদৃশ্য হয়ে যায় না, শুধু সময় বেশি নেয়।

প্র ০২ এই ফিডব্যাক-লুপ ভাঙার জন্য কী ধরনের হস্তক্ষেপ কার্যকর হতে পারে বলে আপনার মনে হয়?

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

প্র ০৩ M3/L11-এর COMPAS বিতর্ক ও এই পাঠের ফিডব্যাক-লুপ ঝুঁকি — এই দুটি সমস্যার মধ্যে মূল পার্থক্য কী?

COMPAS-এর মতো টুল একটি নির্দিষ্ট মুহূর্তে একটি স্ট্যাটিক প্রেডিকশন দেয় — সমস্যা থাকে ট্রেনিং ডেটা ও মেট্রিক্স সংজ্ঞায়। প্রেডিক্টিভ পুলিশিং-এর ফিডব্যাক-লুপ সমস্যা ডাইনামিক — এমনকি একটি "নিরপেক্ষ" প্রাথমিক মডেল দিয়ে শুরু করলেও, ডিপ্লয়মেন্ট-চক্র নিজেই সময়ের সাথে বায়াস তৈরি বা বাড়িয়ে দিতে পারে, কারণ সিস্টেমের সিদ্ধান্তই তার নিজের ভবিষ্যৎ ট্রেনিং ডেটা তৈরি করে।

অনুশীলন

  1. চিন্তা করুন: উপরের কোড সেলে ROUNDS ৫ থেকে ৮-এ বাড়ালে চূড়ান্ত ব্যবধান সম্পর্কে আপনার ধারণা কী?

    রাউন্ড ৩-৪-এর মধ্যেই স্কোর ইতিমধ্যে ১.০/০.০-এর অত্যন্ত কাছাকাছি চলে যায়, তাই আরও বেশি রাউন্ড চালালে সংখ্যাগতভাবে খুব সামান্য পরিবর্তন দেখা যাবে — সিস্টেমটি ইতিমধ্যে কার্যত একটি চরম, স্থিতিশীল অবস্থায় "কনভার্জ" করে ফেলেছে।

  2. পরীক্ষা করুন: উপরের কোড সেলে প্রাথমিক স্কোর risk_x, risk_y = 0.65, 0.35-কে 0.51, 0.49-এ পরিবর্তন করে Run চেপে দেখুন ব্যবধান কীভাবে বাড়ে।

    এখানেও ব্যবধান প্রতি রাউন্ডে বাড়তে থাকবে এবং শেষে (১, ০)-এর দিকে কনভার্জ করবে — তবে শুরুর ব্যবধান অনেক ছোট (মাত্র ০.০২) হওয়ায় প্রথম কয়েক রাউন্ডে পরিবর্তন অনেক ধীর দেখাবে, তারপর দ্রুত ত্বরান্বিত হবে। এটি দেখায় প্রায়-অদৃশ্য একটি প্রাথমিক অসামঞ্জস্যও দীর্ঘমেয়াদে নিরাপদ নয়।

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

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