Skip to content

8.1 — Algebraic Structures (বীজগাণিতিক কাঠামো)

এই অধ্যায়ে কী শিখব: সংখ্যার আগেই যে গাণিতিক কাঠামোগুলো লুকিয়ে থাকে সেগুলো — set (সেট), element (উপাদান), subset (উপসেট), union / intersection / difference / complement, power set (পাওয়ার সেট), cardinality (কার্ডিন্যালিটি) ও countable infinity, Cartesian product (কার্তেসীয় গুণজ), map (ম্যাপ) ও function (ফাংশন), injective (একৈক) / surjective (উপরিচ) / bijective (একৈক ও উপরিচ) ম্যাপ, composition (যৌগ), hypothesis class (হাইপোথিসিস ক্লাস), group (গ্রুপ) ও তার চারটি axiom, symmetry (প্রতিসাম্য), Cayley graph, group homomorphism ও isomorphism, group action (গ্রুপ ক্রিয়া), orbit (কক্ষপথ), invariance ও equivariance, field (ক্ষেত্র), এবং সবশেষে vector space (ভেক্টর স্পেস) ও tensor (টেন্সর) — আর প্রতিটা ধারণাকে দেখব Geometric Deep Learning-এর দৃষ্টিকোণ থেকে।

উৎস (source): Mathematical Foundations of Geometric Deep Learning — Haitz Sáez de Ocáriz Borde ও Michael Bronstein।


১. কেন শিখব? (Motivation)

আধুনিক deep learning (গভীর শিখন) নিয়ে যদি একটু ঘাঁটাঘাঁটি করো, প্রথমেই একটা বিশৃঙ্খলা চোখে পড়বে: একগাদা আলাদা আলাদা architecture (স্থাপত্য) — image (ছবি)-এর জন্য CNN (Convolutional Neural Network), sequence (ধারা)-এর জন্য RNN (Recurrent Neural Network), graph (গ্রাফ)-এর জন্য GNN (Graph Neural Network), set (সেট)-এর জন্য DeepSets, আর ইদানীংকার প্রায় সবকিছুর জন্য Transformer। এগুলো দেখে মনে হয় যেন একেকটা আলাদা প্রাণীর চিড়িয়াখানা (zoo), যাদের মধ্যে কোনো মিল নেই।

Geometric Deep Learning (GDL, জ্যামিতিক গভীর শিখন) ঠিক এখানেই একটা বড় দাবি করে: এই আপাত-বিশৃঙ্খল চিড়িয়াখানার পেছনে আসলে একটাই নীতি কাজ করছে — symmetry (প্রতিসাম্য)। প্রতিটা architecture আসলে তার data (উপাত্ত)-এর একটা নির্দিষ্ট symmetry-কে সম্মান করে তৈরি। ছবি ডানে-বাঁয়ে সরালে (translation) বিড়াল বিড়ালই থাকে; graph-এর node (নোড)-গুলোর নাম এদিক-ওদিক করলে (permutation) graph-টা একই থাকে। এই "একই থাকা"-ই হলো symmetry, আর symmetry-র গণিত হলো group theory (গ্রুপ তত্ত্ব)

Geometric Deep Learning blueprint unifying CNN, GNN, RNN, Transformer and DeepSets in the spirit of the Erlangen Program

চিত্র ১: Erlangen Program-এর চেতনায় Geometric Deep Learning একটা geometric unification (জ্যামিতিক একীকরণ) দেয় — CNN, GNN, RNN, Transformer, DeepSets — এই architecture-গুলোকে একটাই symmetry-ভিত্তিক framework-এর অধীনে আনে।

এই ধারণার শিকড় গণিতের ইতিহাসে অনেক পুরোনো। ১৮৭২ সালে গণিতবিদ Felix Klein তাঁর বিখ্যাত Erlangen Program-এ একটা যুগান্তকারী কথা বলেছিলেন: geometry (জ্যামিতি) মানে আসলে invariant (অপরিবর্তনীয়) বৈশিষ্ট্যের চর্চা। সেই সময় নানা রকম non-Euclidean geometry (অ-ইউক্লিডীয় জ্যামিতি) আবিষ্কার হয়ে জ্যামিতির জগৎ এলোমেলো হয়ে গিয়েছিল। Klein দেখালেন — প্রতিটা geometry-কে তার symmetry group দিয়ে চেনা যায়: কোন কোন transformation (রূপান্তর)-এর অধীনে বস্তুর কোন কোন বৈশিষ্ট্য অপরিবর্তিত থাকে, সেটাই সেই geometry-র পরিচয়। GDL ঠিক এই একই দর্শন deep learning-এ প্রয়োগ করে।

তাই এই অধ্যায়ে আমরা "সংখ্যার আগের গণিত" (mathematics before numbers) দিয়ে শুরু করব — set, map, group, vector space। এগুলো শুনতে খুব বিমূর্ত (abstract) মনে হতে পারে, কিন্তু এগুলোই সেই ভিত্তি-ইট, যার ওপর পুরো GDL দাঁড়িয়ে। বিশেষ করে group হলো সেই ভাষা যা দিয়ে আমরা data-র transformation-গুলো গাণিতিকভাবে বর্ণনা করি।

মূল স্বজ্ঞা

একটা বাক্যে GDL-এর প্রাণভোমরা: "ডেটার যে রূপান্তরগুলোর অধীনে উত্তরটা বদলানো উচিত নয়, সেই রূপান্তরগুলোকে (symmetry) মডেলের গঠনেই ঢুকিয়ে দাও।" বিড়ালের ছবি একটু সরালে বা ঘোরালেও সেটা বিড়ালই — এই "জেনে-বুঝে-নেওয়া"-টা মডেলকে শূন্য থেকে শেখাতে হয় না, বরং আমরা group-এর ভাষায় তা মডেলে গেঁথে দিই। ফলে মডেল কম ডেটাতেই ভালো শেখে। আর এই "রূপান্তর ও অপরিবর্তনীয়তা"-র গণিত বুঝতে হলে আগে set → map → group → vector space — এই সিঁড়িটা ধাপে ধাপে চড়তে হবে।


২. মূল ধারণা (Core idea)

এই অধ্যায়ের যাত্রাপথ একটা সিঁড়ির মতো, নিচ থেকে ওপরে। সবচেয়ে নিচে সবচেয়ে সরল বস্তু — set (শুধু কিছু জিনিসের সংগ্রহ, আর কোনো নিয়ম নেই)। তার ওপরে map (এক সেট থেকে আরেক সেটে যাওয়ার নিয়ম)। তার ওপরে group (একটা সেট + একটা ক্রিয়া, যা কিছু নিয়ম মানে)। আর সবার ওপরে vector space (যোগ করা ও scale করা যায় এমন বস্তুর জগৎ)। চলো ধাপে ধাপে উঠি।

৩.১ সেট, ম্যাপ ও ফাংশন (Sets, Maps, and Functions)

সংখ্যা কি সবচেয়ে সরল বস্তু? আমরা ভাবি সংখ্যাই বুঝি গণিতের সবচেয়ে প্রাথমিক জিনিস। কিন্তু একটু ভাবলেই বোঝা যায়, সংখ্যাকে যোগ-বিয়োগ-গুণ করা যায়, আর এই ক্রিয়াগুলো করতে হলে একগাদা নিয়ম দরকার। তাহলে যদি আমরা সব নিয়ম ছেঁটে ফেলে শুধু "কতগুলো জিনিসের সংগ্রহ" নিয়ে ভাবি? সেই সবচেয়ে খালি, সবচেয়ে সরল ধারণাটাই হলো set (সেট)

Set কী? Set হলো স্বতন্ত্র (distinct) কিছু বস্তুর একটা সংগ্রহ; এই বস্তুগুলোকে বলা হয় সেটের element (উপাদান) বা member (সদস্য)। উপাদানগুলো সংখ্যা হতেই হবে এমন নয় — এরা প্রতীক, শব্দ, এমনকি অন্য সেটও হতে পারে; যেমন {cat, dog} একটা সম্পূর্ণ বৈধ সেট। সেটের দুটো গুরুত্বপূর্ণ বৈশিষ্ট্য:

  1. কোনো পুনরাবৃত্তি নেই (no repetition): প্রতিটা উপাদান সেটে ঠিক একবারই থাকে। {1, 1, 2} লিখলেও সেটা আসলে {1, 2}
  2. ক্রম গুরুত্বপূর্ণ নয় (unordered): {1, 2, 3} আর {3, 1, 2} একই সেট।

(যদি পুনরাবৃত্তি অনুমোদন করা হয়, তখন সেটাকে বলে multiset (মাল্টিসেট) — GNN-এ একটা node-এর প্রতিবেশী (neighborhood) মডেল করতে multiset খুব দরকারি, কারণ সেখানে একই ধরনের প্রতিবেশী একাধিকবার থাকতে পারে।)

সেট সাধারণত বড় হাতের অক্ষরে লেখা হয় — \(A, B, X\) ইত্যাদি। উপাদানগুলো {} বন্ধনীর ভেতরে লেখা হয়। যদি \(x\) উপাদানটি সেট \(A\)-তে থাকে, লিখি \(x \in A\) (পড়ি "\(x\) is an element of \(A\)")। না থাকলে \(x \notin A\)। যেমন \(A = \{1, 2, 3\}\) হলে \(2 \in A\), কিন্তু \(4 \notin A\)

কিছু গুরুত্বপূর্ণ সেটের উদাহরণ:

  • \(\emptyset\)empty set (শূন্য সেট): কোনো উপাদান নেই এমন সেট, লেখা হয় \(\emptyset\) বা \(\{\}\)
  • singleton set (একক সেট): ঠিক একটা উপাদান আছে এমন সেট, যেমন \(\{1\}\)
  • \(\mathbb{N} = \{1, 2, 3, \dots\}\)natural numbers (স্বাভাবিক সংখ্যা)। এখানে "\(\dots\)" মানে সেটটা অসীম পর্যন্ত চলছে। (কিছু বইতে \(\mathbb{N}\)-এ \(0\)-ও ধরা হয়।)
  • \(\mathbb{Z} = \{\dots, -2, -1, 0, 1, 2, \dots\}\)integers (পূর্ণসংখ্যা)। ধনাত্মক, ঋণাত্মক ও শূন্য সব নিয়ে। (প্রতীক \(\mathbb{Z}\) এসেছে জার্মান শব্দ Zahlen থেকে, যার অর্থ "সংখ্যা"।)
  • \(\mathbb{Q} = \left\{ \frac{p}{q} \;\middle|\; p \in \mathbb{Z},\, q \in \mathbb{N} \right\}\)rational numbers (মূলদ সংখ্যা)। দুই পূর্ণসংখ্যার অনুপাত হিসেবে যা লেখা যায়।
  • \(\mathbb{R}\)real numbers (বাস্তব সংখ্যা)। মূলদ (যেমন \(1, 0.75, -3\)) ও অমূলদ (যেমন \(\pi, \sqrt{2}\)) — উভয়ই।
  • \(\mathbb{C}\)complex numbers (জটিল সংখ্যা)\(a + bi\) আকারের, যেখানে \(a, b \in \mathbb{R}\) এবং \(i\) হলো imaginary unit, \(i^2 = -1\)

Set builder notation (সেট নির্মাণ প্রতীক): কখনো কখনো সেটের উপাদানগুলো এক এক করে লেখা অসম্ভব (অসীম সেট) বা ক্লান্তিকর। তখন আমরা একটা সাধারণ রূপ ও একটা শর্ত দিয়ে সেট লিখি:

\[ \{x \mid f(x)\} = \{\text{expression} \mid \text{rule satisfied by the expression}\}. \]

পড়ি "\(x\) such that \(f(x)\)" — অর্থাৎ "সেসব \(x\), যাদের জন্য শর্ত \(f(x)\) সত্য"। এখানে খাড়া দাগ \(\mid\) মানে "such that" (কখনো কোলন :-ও ব্যবহার হয়)। যেমন স্বাভাবিক জোড় সংখ্যার সেট একাধিকভাবে লেখা যায়:

\[ \{2x \mid x \in \mathbb{N}\} = \{x \in \mathbb{N} \mid x \text{ is even}\} = \{2, 4, 6, 8, \dots\}. \]

শর্তটা সমীকরণও হতে পারে। দুটো সুন্দর উদাহরণ:

\[ \{x \in \mathbb{Z} \mid x > 0\} = \mathbb{N}, \qquad \{x \in \mathbb{Q} \mid x^2 = 2\} = \emptyset. \]

দ্বিতীয়টা মজার: \(x^2 = 2\)-এর সমাধান \(x = \pm\sqrt{2}\), যা অমূলদ, তাই \(\mathbb{Q}\)-তে নেই। ফলে শর্তটা কোনো মূলদ সংখ্যা মেটায় না — আমরা ঘুরিয়ে-ফিরিয়ে empty set-ই বর্ণনা করে ফেললাম।

Set-এর ক্রিয়াগুলো (operations):

  • Subset (উপসেট): \(A \subseteq B\) মানে \(A\)-এর প্রতিটা উপাদান \(B\)-তেও আছে। যদি \(A \subseteq B\) কিন্তু \(A \neq B\), তবে \(A\) হলো proper subset (প্রকৃত উপসেট), লেখা \(A \subset B\)
  • Union (সংযোগ): \(A \cup B\) — যা \(A\)-তে বা \(B\)-তে বা উভয়েই আছে, তাদের সেট।
  • Intersection (ছেদ): \(A \cap B\) — যা \(A\)\(B\) উভয়েই আছে।
  • Difference (অন্তর): \(A \setminus B\) — যা \(A\)-তে আছে কিন্তু \(B\)-তে নেই।
  • Complement (পূরক): \(A^c\) — একটা universal set \(U\) ধরে নিয়ে, \(A\)-তে নেই এমন সব উপাদান।
  • Power set (পাওয়ার সেট): \(\mathcal{P}(A)\)\(A\)-এর সব subset-এর সেট (\(\emptyset\)\(A\) নিজেসহ)।
  • Cardinality (কার্ডিন্যালিটি): একটা সেটে কতগুলো উপাদান আছে, তার মাপ; লেখা \(|A|\) বা \(\#(A)\)

অসীমের মাপ — একটা গভীর ধারণা। সসীম সেটের cardinality একটা সাধারণ সংখ্যা। কিন্তু অসীম সেটের ক্ষেত্রে? দুটো অসীম সেটের cardinality "সমান" বলা হয় যদি তাদের মধ্যে একটা bijection (একৈক-উপরিচ ম্যাপ) থাকে — অর্থাৎ একটা নিখুঁত জোড়া-বাঁধা (one-to-one correspondence)। \(\mathbb{N}\)-এর cardinality-কে লেখা হয় হিব্রু অক্ষর \(\aleph_0\) ("aleph-nought") দিয়ে; এটা "সবচেয়ে ছোট" অসীম। যেকোনো সেট যাকে \(\mathbb{N}\)-এর সাথে one-to-one জোড়া বাঁধা যায়, তাকে বলে countably infinite (গণনাযোগ্য অসীম)। মজার ব্যাপার — \(\mathbb{Z}\) আর \(\mathbb{Q}\)-ও দেখতে "বড়" মনে হলেও তাদের cardinality-ও \(\aleph_0\)

চিত্র ২-এ আমরা তিন ধরনের ম্যাপ দেখব, কিন্তু তার আগে ম্যাপ কী তা বুঝি।

Cartesian product (কার্তেসীয় গুণজ): এটা দুটো সেট জোড়া দিয়ে বড় সেট বানানোর একটা উপায়। নামটা এসেছে René Descartes-এর নাম থেকে (যাঁর ল্যাটিন নাম Renatus Cartesius, তাই "Cartesian")। দুটো সেট \(A\)\(B\)-এর Cartesian product \(A \times B\) হলো সব ordered pair (ক্রমিত জোড়া) \((a, b)\)-এর সেট, যেখানে \(a \in A\)\(b \in B\):

\[ A \times B = \{(a, b) \mid a \in A,\, b \in B\}. \]

যেমন \(A = \{1, 2\}\)\(B = \{b_1, b_2\}\) হলে:

\[ A \times B = \{(1, b_1),\, (1, b_2),\, (2, b_1),\, (2, b_2)\}. \]

একটা টেবিল আকারেও লেখা যায়:

\(A \times B\) \(b_1\) \(b_2\)
\(1\) \((1, b_1)\) \((1, b_2)\)
\(2\) \((2, b_1)\) \((2, b_2)\)

GDL-এ Cartesian product দিয়ে জটিল manifold (বহুতল) বানানো হয় সরল অংশ জুড়ে জুড়ে — যেমন কয়েকটা বৃত্তের (1-sphere) Cartesian product নিয়ে একটা hypertorus-এর বিন্দু সংজ্ঞায়িত করা যায়। এভাবে ডেটাকে জটিল latent space-এ encode করা যায়, অথচ জ্যামিতির closed-form, differentiable রূপ বজায় থাকে।

Map (ম্যাপ) — function-এর চেয়েও সাধারণ ধারণা। অনেক পাঠ্যক্রমে সরাসরি function শেখানো হয়, কিন্তু তার আগে আরও সাধারণ একটা ধারণা আছে — map।

একটা map হলো একটা নিয়ম \(F\), যা সেট \(A\)-এর প্রতিটা উপাদানকে সেট \(B\)-এর একটা উপাদানে পাঠায়: \(F(a) \equiv b \in B\) সব \(a \in A\)-এর জন্য। এখানে \(\equiv\) পড়ি "is defined as", আর \(\forall\) পড়ি "for all" (সব)।

লেখার প্রচলিত রূপ \(F : A \to B\)। এখানে \(A\) হলো domain (ডোমেইন) — যেখান থেকে আসছে; \(B\) হলো codomain (কো-ডোমেইন) — যেখানে পাঠানো হচ্ছে; input \(a \in A\) হলো argument বা preimage (পূর্বচিত্র); আর \(F(a)\) হলো তার image (চিত্র)। দুই ধরনের লেখা আলাদা করে বোঝা জরুরি:

\[ F : \mathbb{N} \to \mathbb{Z}, \qquad x \mapsto F(x) = x^2. \]

বাঁ দিকটা বলছে domain ও codomain কী; ডান দিকটা (তীর \(\mapsto\) সহ) বলছে একেকটা নির্দিষ্ট input-এ \(F\) কী করে।

একটা function (ফাংশন) হলো map-এর একটা বিশেষ রূপ — যে map গিয়ে পৌঁছায় সংখ্যার সেটে (যেমন \(\mathbb{R}\))। অর্থাৎ সব function-ই map, কিন্তু সব map function নয়।

তিন ধরনের ম্যাপ। একটা map কীভাবে উপাদান পাঠায় তার ওপর নির্ভর করে তিনটে নাম দেওয়া হয় (এই নামগুলো ১৯৫৪ সালে ফরাসি গণিতবিদদের ছদ্মনাম Nicholas Bourbaki-র লেখায় আসে, বিশেষণ রূপ Claude Chevalley ১৯৫৬-তে ব্যবহার করেন):

Diagrams of injective, surjective and bijective maps between two sets

চিত্র ২: injective (একৈক), surjective (উপরিচ) ও bijective (একৈক ও উপরিচ) ম্যাপের চিত্র। নীল ও লাল বিন্দু দিয়ে দুই সেটের উপাদান দেখানো — কে কার সাথে জোড়া বাঁধছে সেটাই মূল কথা।

  • Injective (একৈক / one-to-one): ভিন্ন input সবসময় ভিন্ন output দেয়। অর্থাৎ কোনো দুটো আলাদা উপাদান একই জায়গায় পড়ে না। শর্ত: সব \(a_1, a_2 \in A\)-এর জন্য \(F(a_1) = F(a_2) \implies a_1 = a_2\)
  • Surjective (উপরিচ / onto): codomain \(B\)-এর প্রতিটা উপাদানের অন্তত একটা preimage আছে — অর্থাৎ \(B\)-এর কিছুই "খালি" থাকে না। শর্ত: প্রতিটা \(b \in B\)-এর জন্য এমন \(a \in A\) আছে যেন \(F(a) = b\)
  • Bijective (একৈক ও উপরিচ): যদি একই সাথে injective ও surjective হয়। তখন \(A\)-এর প্রতিটা উপাদান \(B\)-এর একটা অনন্য (unique) উপাদানে যায় এবং \(B\)-এর প্রতিটা উপাদানের একটা অনন্য preimage থাকে — নিখুঁত জোড়া। কেবল bijective ম্যাপেরই inverse (বিপরীত) \(F^{-1} : B \to A\) থাকে, যা মেটায়:
\[ F^{-1}(F(a)) = a \;\; \forall a \in A, \qquad F(F^{-1}(b)) = b \;\; \forall b \in B. \]

Composition (যৌগ) — ম্যাপ জোড়া দেওয়া। দুটো map \(F_1 : A \to B\)\(F_2 : B \to C\) থাকলে তাদের composition \(F_2 \circ F_1 : A \to C\) হলো একটা নতুন map — প্রথমে \(F_1\) চালাও, তার ফলাফলে \(F_2\) চালাও। function-এর ক্ষেত্রেও একই: \(f : X \to Y\)\(g : Y \to Z\) হলে \((g \circ f)(x) = g(f(x))\)। উদাহরণ: \(f(x) = x^2\), \(g(x) = \sin(x)\) হলে

\[ (g \circ f)(x) = \sin(x^2), \qquad (f \circ g)(x) = (\sin(x))^2. \]

লক্ষ করো, \(g \circ f \neq f \circ g\) — composition associative (সংযোজনযোগ্য) কিন্তু commutative নয় (ক্রম বদলালে ফল বদলায়)। আরেকটা গুরুত্বপূর্ণ তথ্য: দুটো injective ম্যাপের composition আবার injective; একইভাবে surjective-এর composition surjective, bijective-এর composition bijective।

কেন এটা deep learning-এর হৃদয়? একটা neural network (নিউরাল নেটওয়ার্ক) মূলত function composition ছাড়া আর কিছুই নয়! input একের পর এক layer (স্তর)-এর ভেতর দিয়ে যায়, প্রতিটা layer আগেরটার output (যাকে activation বা feature map বলে) নিয়ে রূপান্তর করে পরের layer-এ পাঠায়।

LeNet-5 classical CNN architecture showing successive convolution and pooling layers

চিত্র ৩: LeNet-5 — একটা ক্লাসিক CNN (Convolutional Neural Network) architecture। বাঁ থেকে ডানে input image ধাপে ধাপে বিভিন্ন layer-এর মধ্য দিয়ে গিয়ে feature map তৈরি করে — এটাই function composition-এর একটা বাস্তব উদাহরণ। প্রথম দিকের filter প্রান্ত (edge)/কোণ ধরে, গভীরের filter সেগুলো জুড়ে জটিল বৈশিষ্ট্য বানায়।

লক্ষণীয় — neural network সাধারণত bijective নয় (না injective, না surjective নিশ্চিত), তাই সাধারণত inverse থাকে না।

Hypothesis class (হাইপোথিসিস ক্লাস)। machine learning-এ input space \(\mathcal{X}\) থেকে output/label space \(\mathcal{Y}\)-তে যাওয়ার সব সম্ভাব্য function-এর মধ্য থেকে algorithm একটা বেছে নেয়। যে সেট থেকে বাছাই করা হয়, সেটাই hypothesis class:

\[ \mathcal{F} \subseteq \{ f : \mathcal{X} \to \mathcal{Y} \}. \]

যেমন linear regression-এ hypothesis class হলো সব সরলরেখার (affine function) সেট:

\[ \mathcal{F}_{\text{lin}} = \left\{ f_{w,b} : \mathbb{R}^d \to \mathbb{R} \;\middle|\; f_{w,b}(x) = w^\top x + b,\; w \in \mathbb{R}^d,\, b \in \mathbb{R} \right\}. \]

Deep learning-এ hypothesis class ঠিক করে দেয় আমাদের বেছে নেওয়া architecture। যেমন একটা MultiLayer Perceptron (MLP)-এর ক্ষেত্রে:

\[ \mathcal{F}_{\text{NN}} = \{ f_\theta : \mathcal{X} \to \mathcal{Y} \mid \theta \in \Theta \}, \]

যেখানে

\[ f_\theta(x) = \sigma_L\!\left( W^{(L)} \cdots \sigma_2\!\left( W^{(2)} \sigma_1\!\left( W^{(1)}x + b^{(1)} \right) + b^{(2)} \right) \cdots + b^{(L)} \right). \]

এখানে \(L\) হলো layer-সংখ্যা, \(\theta = (W^{(1)}, b^{(1)}, \dots, W^{(L)}, b^{(L)})\) হলো শেখার-যোগ্য parameter, আর \(\sigma_1, \dots, \sigma_L\) হলো non-linear activation function (সক্রিয়করণ ফাংশন)। এক কথায়, MLP হলো affine transformation ও non-linear function-এর একটা composition — আবার সেই যৌগের ধারণা!

Symmetry দিয়ে hypothesis class ছোট করা — GDL-এর মূল কৌশল। hypothesis class যত বড়, তার মধ্যে সেরা function সত্যিকারের উত্তরের তত কাছে থাকে, কিন্তু সেই সেরাটা খুঁজে বের করা তত কঠিন (আর বেশি ডেটা লাগে)। GDL-এ আমরা ইচ্ছে করে hypothesis class ছোট করি — কীভাবে? layer-এর রূপান্তরে symmetry (invariance ও equivariance) গেঁথে দিয়ে। এতে অপ্রয়োজনীয় function-গুলো আগেই বাদ পড়ে, ফলে অল্প ডেটাতেই দক্ষ শিখন হয়। এটাই bias-variance trade-off-এর একটা সুন্দর প্রয়োগ।

৩.২ গ্রুপ ও প্রতিসাম্য (Groups and Symmetry)

একটা বাস্তব উদাহরণ দিয়ে শুরু। একটা বর্গক্ষেত্র (square) কল্পনা করো। এটাকে ঘোরানোর কথা ভাবো। কোন কোন ঘূর্ণনের পরে বর্গটা হুবহু আগের মতোই দেখায়? উত্তর: \(0^\circ, 90^\circ, 180^\circ, 270^\circ\)। এই চারটে ঘূর্ণনের সেটকে বলা হয় \(C_4\):

\[ C_4 = \{0^\circ, 90^\circ, 180^\circ, 270^\circ\}. \]

Rotational symmetries of a square forming the group C4

চিত্র ৪: একটা square-এর rotational symmetry (\(C_4\))। \(0^\circ, 90^\circ, 180^\circ, 270^\circ\) — এই চারটে ঘূর্ণনের পরে square অপরিবর্তিত (invariant) থাকে। প্রতিবার \(+90^\circ\) করলে এক অবস্থা থেকে পরের অবস্থায় যাই, আর \(270^\circ\)-এর পরে \(+90^\circ\) আবার \(0^\circ\)-এ ফিরে আসে।

এখানে "ক্রিয়া" (operation) হলো ঘূর্ণন জোড়া দেওয়া। যেমন দুটো \(90^\circ\) ঘূর্ণন = একটা \(180^\circ\) ঘূর্ণন; \(0^\circ\)-এর পরে \(90^\circ\) = শুধু \(90^\circ\)। খেয়াল করো — সেটের যেকোনো দুই উপাদান জোড়া দিলে ফলটা আবার সেটের ভেতরেই পড়ে। এই বৈশিষ্ট্যটাই একটা group (গ্রুপ) তৈরির মূল সুর।

এই ঘটনাটাই symmetry (প্রতিসাম্য) — বর্গটা এই রূপান্তরগুলোর অধীনে অপরিবর্তিত (invariant) থাকে। ("symmetry" শব্দটা গ্রিক symmetria থেকে, যার আক্ষরিক অর্থ "same measure" — একই মাপ।) গণিতে symmetry মানে: কোনো বস্তু বা তন্ত্রের এমন বৈশিষ্ট্য যা নির্দিষ্ট কিছু রূপান্তরের অধীনে বদলায় না।

একই ভাবে একটা ত্রিভুজের (triangle) symmetry আঁকা যায়, তবে সেখানে ঘূর্ণন (rotation) ছাড়াও প্রতিফলন (reflection) থাকে। এমন চিত্রকে সাধারণভাবে বলা হয় Cayley graph (কেইলি গ্রাফ)

Cayley graph of the symmetry group of a triangle with rotations R and reflections F

চিত্র ৫: একটা triangle-এর symmetry-র Cayley graph, যেখানে \(R\) মানে rotation (ঘূর্ণন) ও \(F\) মানে reflection (প্রতিফলন)। প্রতিটা তীর একটা generator (উৎপাদক) ক্রিয়া দিয়ে এক symmetry থেকে আরেক symmetry-তে যাওয়া দেখায় — গ্রুপের গঠন চোখে দেখার একটা উপায়।

Group-এর আনুষ্ঠানিক সংজ্ঞা। একটা group হলো একটা সেট, তার সাথে একটা binary operation (দ্বিমিক ক্রিয়া) — যা সেটের যেকোনো দুই উপাদানকে জুড়ে একটা তৃতীয় উপাদান বানায়। লেখা হয় \((G, \circ)\), যেখানে \(G\) সেট ও \(\circ\) ক্রিয়া। (\(a \circ b\)-কে সংক্ষেপে \(ab\) লেখা যায়, বা \(\ast\) প্রতীকও চলে।) ক্রিয়াটিকে নিচের তিনটে মৌলিক নিয়ম, অর্থাৎ group axiom (গ্রুপ স্বীকার্য) মানতে হয়:

  • Associativity (সংযোজনযোগ্যতা): সব \(a, b, c \in G\)-এর জন্য \((a \circ b) \circ c = a \circ (b \circ c)\)। অর্থাৎ বন্ধনী কোথায় বসাচ্ছ তাতে ফল বদলায় না।
  • Identity element (অভেদ উপাদান): এমন একটা \(e \in G\) আছে যেন সব \(a \in G\)-এর জন্য \(e \circ a = a \circ e = a\)। এই \(e\)-ই identity — যাকে জুড়লে কিছু বদলায় না।
  • Inverse element (বিপরীত উপাদান): প্রতিটা \(a \in G\)-এর জন্য এমন \(b \in G\) আছে যেন \(a \circ b = b \circ a = e\)। এই \(b\)-কে বলে \(a\)-এর inverse, লেখা \(a^{-1}\)

আর একটি defining rule হলো closure: সব \(a,b\in G\)-এর জন্য \(a\circ b\in G\)Commutativity group-এর জন্য বাধ্যতামূলক নয়—অনেক group-এ \(a\circ b\ne b\circ a\)। Group finite, infinite, discrete বা continuous হতে পারে।

(একটু ইতিহাস: group theory-র জন্ম হয় Galois-এর হাতে, যিনি permutation group-এর ধারণা দিয়ে প্রমাণ করেন যে সাধারণ পঞ্চম-ঘাতের (quintic) বহুপদী radical দিয়ে সমাধান করা যায় না — যে সমস্যা Lagrange, Ruffini-র মতো গণিতবিদদের বহু শতাব্দী ভাবিয়েছিল।)

Group-এর উদাহরণ:

  • যোগের অধীনে পূর্ণসংখ্যা: \((\mathbb{Z}, +)\) একটা group। identity \(0\), আর \(a\)-এর inverse \(-a\)
  • গুণের অধীনে অশূন্য মূলদ সংখ্যা: \((\mathbb{Q}^{*}, \cdot)\), যেখানে \(\mathbb{Q}^{*} = \mathbb{Q} \setminus \{0\}\)। identity \(1\), \(a\)-এর inverse \(\frac{1}{a}\)
  • Symmetric group (প্রতিসম গ্রুপ): \(S_N\) হলো \(N\)টা উপাদানের সব permutation (বিন্যাস)-এর group; ক্রিয়া হলো permutation-এর composition। এটা একটা সসীম group।

Group সম্পর্কে আরও কিছু কথা:

  • Abelian group (অ্যাবেলিয়ান গ্রুপ): যদি ক্রিয়া commutative হয়, অর্থাৎ সব \(a, b\)-এর জন্য \(a \circ b = b \circ a\), তবে group-টা abelian (নামটা গণিতবিদ Niels Henrik Abel-এর নামে)। যেখানে অন্তত কিছু উপাদানের জন্য \(a \circ b \neq b \circ a\), সেটা non-abelian।
  • Subgroup (উপগ্রুপ): \(G\)-এর একটা subset \(H\) যদি নিজেই \(G\)-এর ক্রিয়ার অধীনে একটা group হয়, তবে \(H\) হলো subgroup, লেখা \(H \le G\)
  • Order (ক্রম): group-এর উপাদান-সংখ্যা, লেখা \(|G|\)

যেমন আমাদের \(C_4\) group-টা abelian, আর \(|C_4| = 4\)। আর \(C_2 = \{0^\circ, 180^\circ\}\) হলো \(C_4\)-এর একটা subgroup: \(C_2 \le C_4\)

GDL-এ group কেন এত গুরুত্বপূর্ণ? GDL-এ group দিয়ে data-র symmetry আনুষ্ঠানিক করা হয়। কয়েকটা উদাহরণ:

  • Computer vision-এ: translation-এর group নিশ্চিত করে যে বস্তুর অবস্থান সরালেও তার শ্রেণি (category) অপরিবর্তিত থাকে — object classification-এর জন্য অপরিহার্য।
  • Computational chemistry-তে: অণুর ধর্ম নির্ণয়ে output-কে ঘূর্ণন ও translation উভয়ের অধীনে invariant হতে হয়, যা Euclidean group \(E(3)\) দিয়ে অর্জিত হয়।
  • Graph-এ: node-দের যেকোনোভাবে পুনর্বিন্যাস (permutation) করলেও graph একই — এখানে symmetric group \(S_n\) কেন্দ্রীয় ভূমিকা রাখে, যা GNN ও message-passing framework-এর ভিত্তি।

Group homomorphism (হোমোমরফিজম) — গঠন রক্ষা করে দুই গ্রুপের সংযোগ। কখনো দুটো group আসলে "একই" হয়, শুধু অন্যভাবে লেখা। homomorphism-এর মূল কথা হলো গঠন (structure) রক্ষা করা। দুটো group \((G, \circ)\)\((H, \ast)\) থাকলে একটা map \(\phi : G \to H\)-কে homomorphism বলা হয় যদি সব \(a, b \in G\)-এর জন্য:

\[ \phi(a \circ b) = \phi(a) \ast \phi(b). \]

অর্থাৎ — "আগে জুড়ে তারপর পাঠাও" আর "আগে পাঠিয়ে তারপর জুড়ো" — দুটো একই ফল দেয়। যদি \(\phi\) একটা bijective homomorphism হয়, তবে দুই group isomorphic (সমরূপ), লেখা \((G, \circ) \cong (H, \ast)\) — এরা কার্যত এক এবং অভিন্ন, শুধু নাম আলাদা।

উদাহরণ (\(C_4 \cong \mathbb{Z}_4\)): \(C_4 = \{0^\circ, 90^\circ, 180^\circ, 270^\circ\}\) (ক্রিয়া: \(\bmod\ 360^\circ\) যোগ) আর \(\mathbb{Z}_4 = \{0, 1, 2, 3\}\) (ক্রিয়া: \(\bmod\ 4\) যোগ) — এরা isomorphic। homomorphism:

\[ \phi(0^\circ) = 0,\quad \phi(90^\circ) = 1,\quad \phi(180^\circ) = 2,\quad \phi(270^\circ) = 3. \]

যাচাই: \(\phi(a + b \bmod 360^\circ) = \phi(a) + \phi(b) \bmod 4\)। যেমন

\[ \phi(90^\circ + 180^\circ \bmod 360^\circ) = \phi(270^\circ) = 3, \]
\[ \phi(90^\circ) + \phi(180^\circ) \bmod 4 = 1 + 2 \bmod 4 = 3. \]

দুটো মিলে গেল — সুন্দর!

একটা non-isomorphic উদাহরণ (\(C_4 \to C_2\)): \(C_2 = \{0^\circ, 180^\circ\}\) ধরে map:

\[ \psi(0^\circ) = 0^\circ,\; \psi(90^\circ) = 180^\circ,\; \psi(180^\circ) = 0^\circ,\; \psi(270^\circ) = 180^\circ. \]

এটা homomorphism (যাচাই করলে মিলবে), কিন্তু injective নয় (দুটো ভিন্ন উপাদান একই জায়গায় যায়), তাই bijective-ও নয়। ফলে \(C_4\)\(C_2\) isomorphic নয় — যদিও দুটোই cyclic group, তাদের গঠন মৌলিকভাবে আলাদা (একটার order \(4\), আরেকটার \(2\))।

Group action (গ্রুপ ক্রিয়া) — বিমূর্ত গ্রুপকে বাস্তবে কাজে লাগানো। এতক্ষণ group একটা বিমূর্ত বস্তু ছিল। group action হলো সেই সেতু, যা দিয়ে group একটা সেটের ওপর "কাজ করে" (act) — যেমন জ্যামিতিক আকৃতি রূপান্তর, উপাদান পুনর্বিন্যাস, বা symmetry প্রয়োগ।

আবার \(C_4\)-এ ফিরি। এই ঘূর্ণনগুলো square-এর কোণবিন্দুর (vertex) সেট \(V = \{\hat{A}, \hat{B}, \hat{C}, \hat{D}\}\)-এর ওপর কাজ করে, তাদের অবস্থান অদল-বদল করে:

  • \(90^\circ\) ঘূর্ণন পাঠায়: \(\hat{A} \to \hat{B},\ \hat{B} \to \hat{C},\ \hat{C} \to \hat{D},\ \hat{D} \to \hat{A}\)
  • \(180^\circ\) ঘূর্ণন পাঠায়: \(\hat{A} \to \hat{C},\ \hat{B} \to \hat{D},\ \hat{C} \to \hat{A},\ \hat{D} \to \hat{B}\)

আনুষ্ঠানিকভাবে, একটা group \(G\)-এর একটা সেট \(X\)-এর ওপর (left) group action হলো একটা map

\[ \alpha : G \times X \to X, \qquad (g, x) \mapsto \alpha(g, x) = g \cdot x, \]

যা দুটো axiom মানে:

  • Identity: identity উপাদান \(e\) কিছুই বদলায় না — \(\alpha(e, x) = e \cdot x = x\) সব \(x \in X\)-এর জন্য।
  • Compatibility: সব \(g, a \in G\)\(x \in X\)-এর জন্য \((g \circ a) \cdot x = g \cdot (a \cdot x)\)। অর্থাৎ "আগে \(a\)\(b\) গ্রুপে জুড়ে তারপর \(x\)-এ প্রয়োগ" = "আগে \(b\) প্রয়োগ, তারপর \(a\) প্রয়োগ"।

A group acting on an image, showing how transformations change the object

চিত্র ৬: একটা image (function)-এর ওপর group action। একটা বস্তুর "ধরন" আসলে সংজ্ঞায়িত হয় সে কীভাবে একটা group দিয়ে রূপান্তরিত হয় তার দ্বারা — GDL-এ ঠিক এই দৃষ্টিভঙ্গিই নেওয়া হয়।

GDL-এ আমরা group-কে বিমূর্ত বস্তু হিসেবে না দেখে দেখি — এটা কীভাবে input data-কে রূপান্তর করে। ধরে নিই ডেটার নিচে একটা domain \(\Omega\) আছে; আমরা দেখি \(G\) কীভাবে \(\Omega\)-তে act করে এবং signal-এর space \(\mathcal{X}(\Omega)\)-তে কীভাবে সেই action আসে। এতে model-কে এমনভাবে ডিজাইন করা যায় যেন সে domain-এর গঠন সম্মান করে রূপান্তর করে।

Orbit, invariance ও equivariance। একটা উপাদান \(x \in X\)-এর orbit (কক্ষপথ) \(G\)-এর action-এর অধীনে হলো:

\[ \text{Orb}(x) = \{g \cdot x \mid g \in G\}. \]

অর্থাৎ \(x\) থেকে group-এর সব সম্ভাব্য action প্রয়োগ করে যত জায়গায় পৌঁছানো যায়, তাদের সেট।

এবার দুটো মূল ধারণা। ধরি \(G\) সেট \(X\)\(Y\) উভয়ের ওপর act করে।

  • একটা function \(f : X \to Y\)-কে \(G\)-invariant বলা হয় যদি \(f(g \cdot x) = f(x)\) সব \(g \in G, x \in X\)-এর জন্য। অর্থাৎ input যতই রূপান্তরিত হোক, output একই।
  • \((X, \cdot_X)\)\((Y, \cdot_Y)\) যদি \(G\)-space হয়, তবে \(f : X \to Y\)-কে \(G\)-equivariant বলা হয় যদি \(f(g \cdot_X x) = g \cdot_Y f(x)\)। অর্থাৎ input-এ রূপান্তর করলে output-ও অনুমেয়ভাবে (একই group action দিয়ে) রূপান্তরিত হয়।

সংক্ষেপে: invariant function পুরো orbit-কে একটা মানে গুটিয়ে ফেলে; equivariant function orbit বরাবর অনুমেয়ভাবে বদলায়।

Neural network-এ invariance পাওয়ার একটা সাধারণ উপায় হলো orbit-এর ওপর aggregate করা। যেমন group convolution operator (গ্রুপ কনভলিউশন):

\[ (f \star \psi)(x) = \sum_{g \in G} f(g \cdot x)\, \psi(g^{-1}), \]

আর continuous ক্ষেত্রে:

\[ (f \star \psi)(x) = \int_G f(g \cdot x)\, \psi(g^{-1})\, dg, \]

যেখানে \(\psi : G \to \mathbb{R}\) একটা kernel (কার্নেল) function (filter-এর মতো, বিভিন্ন group উপাদানের অবদানে ওজন দেয়), আর \(dg\) হলো \(G\)-এর ওপর Haar measure (হার পরিমাপ) — একটা translation-invariant পরিমাপ, যা নিশ্চিত করে integration কোন parametrization বেছেছি তার ওপর নির্ভর করে না। এই operator \(G\)-equivariant।

একটা স্বজ্ঞামূলক ব্যাখ্যা: ধরো \(G = C_4\) (৯০° ঘূর্ণনের group), যা image-এর সেট \(X\)-এর ওপর act করছে। একটা ছবি \(x\) (ধরো Mona Lisa)-এর orbit-এ থাকবে তার চারটে ঘোরানো কপি: \(x, R_{90}(x), R_{180}(x), R_{270}(x)\)। একটা invariant function \(f\) (যেমন face recognition) প্রতিটার জন্য একই মান দেবে:

\[ f(x) = f(R_{90}(x)) = f(R_{180}(x)) = f(R_{270}(x)), \]

কারণ সব ছবিতেই একই মুখ, শুধু দিকটা আলাদা।

পদার্থবিজ্ঞানের সাথে গভীর সংযোগ। invariance ও equivariance-এর গুরুত্ব পদার্থবিজ্ঞানে অনেক আগেই সামনে এসেছিল। Emmy Noether (১৯১৮): "একটা ভৌত তন্ত্রের ক্রিয়ার (action) প্রতিটা [ডিফারেনশিয়েবল] symmetry-র সাথে একটা সংরক্ষণ-সূত্র (conservation law) জড়িত।" আর Philip Anderson (১৯৭২): "একটু বাড়িয়ে বললে, পদার্থবিজ্ঞান আসলে symmetry-রই চর্চা।" GDL-এ কয়েকটা equivariant layer পরপর সাজিয়ে (stacking) নেটওয়ার্ক ক্রমশ জটিল, শ্রেণিবদ্ধ (hierarchical) প্যাটার্ন ধরে — কিন্তু symmetry বজায় রেখে; তারপর সবশেষে একটা invariant operation সেই বৈশিষ্ট্যগুলোকে একটা দৃঢ় (robust) প্রতিনিধিত্বে গুটিয়ে classification/segmentation/regression-এর কাজে লাগায়। (শুধু invariant layer সাজালে hypothesis class কঠোরভাবে ছোট হয়ে যেত।)

৩.৩ ক্ষেত্র থেকে ভেক্টর স্পেস (Fields and Vector Spaces)

Field (ক্ষেত্র) — গ্রুপের চেয়ে বেশি গঠন। vector space-এ যাওয়ার আগে সংক্ষেপে field দেখে নিই। algebraic structure-এর শ্রেণিবিন্যাসে group, field ও vector space পরস্পর জড়িত। group-এ থাকে একটামাত্র binary operation ও অল্প কিছু axiom; field-এ থাকে দুটো operation ও কঠোর সামঞ্জস্য-শর্ত। তাই field group-এর চেয়ে বেশি গঠন চাপায়।

একটা field হলো একটা সেট \(F\), যাতে দুটো binary operation — যোগ (\(+\)) ও গুণ (\(\cdot\)) — আছে এবং নিচের শর্তগুলো মানে:

  • \((F, +)\) একটা abelian group (identity উপাদান \(0\))।
  • \((F \setminus \{0\}, \cdot)\) একটা abelian group (identity উপাদান \(1\))।
  • গুণ যোগের ওপর distributive (বণ্টনযোগ্য): সব \(a, b, c \in F\)-এর জন্য \(a \cdot (b + c) = (a \cdot b) + (a \cdot c)\)

\(\mathbb{R}\)\(\mathbb{C}\) হলো field-এর সবচেয়ে পরিচিত উদাহরণ।

Vector space (ভেক্টর স্পেস) — কী এবং কেন। ভূমিকায় প্রায়ই vector-কে বলা হয় "দিক ও দৈর্ঘ্যযুক্ত তীর" (arrow) বা "সংখ্যার সারি" (array of numbers)। বইয়ের লেখকদের ভাষায় এই দুটো সংজ্ঞাই "মানবতার বিরুদ্ধে অপরাধ"! কেন? — "তীর" ভাবতে হলে আগে দিক ও দৈর্ঘ্য সংজ্ঞায়িত করতে হয়, যার জন্য দরকার অতিরিক্ত গঠন inner product ও norm; আর "সারি" ভাবতে হলে আগে একটা basis (ভিত্তি) ঠিক করতে হয়, যার সাপেক্ষে coordinate লেখা যায়। সঠিক গাণিতিক দৃষ্টিভঙ্গি হলো: vector হলো এমন বিমূর্ত বস্তু, যাদের scale করা যায় ও যোগ করা যায় — ব্যস।

আনুষ্ঠানিকভাবে: \(V\) একটা field \(F\)-এর ওপর (সাধারণত \(F = \mathbb{R}\) বা \(\mathbb{C}\)) একটা vector space, যদি দুটো binary operation থাকে — vector addition \(+ : V \times V \to V\) ও scalar multiplication \(\cdot : V \times F \to V\) — এবং সব \(u, v, w \in V\)\(\alpha, \beta \in F\)-এর জন্য নিচের আটটা axiom মানা হয়:

  1. যোগের associativity: \(u + (v + w) = (u + v) + w\)
  2. যোগের commutativity: \(u + v = v + u\)
  3. যোগের identity: এমন একটা অনন্য \(0 \in V\) আছে যেন \(u + 0 = u\)
  4. যোগের inverse: প্রতিটা \(v\)-এর জন্য এমন অনন্য \(-v \in V\) আছে যেন \(v + (-v) = 0\)
  5. vector যোগের ওপর \(\cdot\)-এর distributivity: \(\alpha \cdot (u + v) = \alpha \cdot u + \alpha \cdot v\)
  6. scalar যোগের ওপর \(\cdot\)-এর distributivity: \((\alpha + \beta) \cdot v = \alpha \cdot v + \beta \cdot v\)
  7. scalar গুণের সাথে \(\cdot\)-এর compatibility: \(\alpha \cdot (\beta \cdot v) = (\alpha \beta) \cdot v\)
  8. \(\cdot\)-এর identity: এমন অনন্য \(1 \in F\) আছে যেন \(1 \cdot u = u\)

খেয়াল রেখো — একই প্রতীক \(+\) দুই জায়গায়: scalar যোগ (\(\alpha + \beta\)) ও vector যোগ (\(u + v\)); context থেকে বুঝতে হয় কোনটা। তেমনি vector \(0 \in V\) আর scalar \(0 \in F\) আলাদা, যদিও একই প্রতীকে লেখা। (\(\exists! u\) মানে "\(V\)-তে অনন্য একটা \(u\) আছে"।)

Vector space-এর উদাহরণ:

  • সংখ্যার সারি: \(\mathbb{R}^n = \{(v_1, \dots, v_n) : v_i \in \mathbb{R}\}\), যেখানে \(u + v = (u_1 + v_1, \dots, u_n + v_n)\)
  • Function-ও vector হতে পারে! \(\mathcal{F}(\Omega) = \{f : \Omega \to \mathbb{R}\}\), যেখানে \((f + g)(x) = f(x) + g(x)\)। অর্থাৎ দুটো function যোগ করা যায় ও scale করা যায় — তাই তারাও একটা vector space তৈরি করে। (GDL-এ signal মানে এমনই function; তাই এই দৃষ্টিভঙ্গি অত্যন্ত গুরুত্বপূর্ণ।)

Scalar, vector, tensor। একটা scalar (স্কেলার) হলো একটা মাত্র সংখ্যা, দিক নেই, যেমন \(a = 5\)। একটা vector (ভেক্টর) হলো সংখ্যার একটা ক্রমিত সারি, যেমন

\[ v = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix}. \]

একটা tensor (টেন্সর) হলো scalar ও vector-এর উচ্চতর-মাত্রায় সাধারণীকরণ। ক্রম (order/rank) দিয়ে বলা হয়: scalar হলো \(0\)-order tensor, vector হলো \(1\)-order, matrix (ম্যাট্রিক্স) হলো \(2\)-order tensor:

\[ M = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}. \]

আর \(3\)-order tensor হলো একটা ত্রিমাত্রিক array, যেমন একটা \(3 \times 2 \times 2\) tensor \(T_{ijk}\)-কে স্লাইস আকারে লেখা যায়:

\[ T_{1,:,:} = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix},\quad T_{2,:,:} = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix},\quad T_{3,:,:} = \begin{pmatrix} 9 & 10 \\ 11 & 12 \end{pmatrix}. \]

Einstein summation convention (আইনস্টাইন সমষ্টি রীতি)। এটা একটা সংক্ষিপ্ত লেখার কৌশল — একটা expression-এ কোনো index যদি পুনরাবৃত্ত হয়, তবে ধরে নেওয়া হয় সেই index-এর সব মানের ওপর যোগ করা হচ্ছে, আর \(\sum\) প্রতীক লেখার দরকার নেই। কয়েকটা উদাহরণ:

  • দুই vector-এর dot product: \(u_i v_i = \sum_i u_i v_i = a\) (ফল একটা scalar)।
  • matrix-vector গুণ: \(M_{ij} v_j = \sum_j M_{ij} v_j = u_i\) (ফল একটা vector)।
  • tensor contraction (টেন্সর সংকোচন) — matrix গুণের সাধারণীকরণ: \(T_{ijk} v_j = \sum_j T_{ijk} v_j = M_{ik}\) (order-3 tensor \(\times\) vector = order-2 tensor, অর্থাৎ matrix)।

Deep learning-এ tensor space। বাস্তবে deep learning-এ আমরা vector নয়, বরং tensor নিয়ে কাজ করি — কারণ tensor সমান্তরাল (parallel) ডেটা প্রক্রিয়ায় সুবিধাজনক। যেমন computer vision-এ ছবি সাধারণত \([B, C, H, W]\) আকারের tensor: \(B\) = batch size, \(C\) = channel (যেমন RGB), \(H, W\) = ছবির উচ্চতা ও প্রস্থ। video-তে আরও একটা frame/time মাত্রা যোগ হয়ে \([B, C, F, H, W]\) হয়। (গবেষণাপত্রে অনেক সময় batch মাত্রা বাদ দিয়ে শুধু matrix আকারে রূপান্তর লেখা হয়, স্পষ্টতার জন্য।)


৩. সংজ্ঞা ও উপপাদ্য (Definitions & Theorems)

এখানে আগের ধারণাগুলোর টানটান, আনুষ্ঠানিক সংজ্ঞা এক জায়গায় রাখলাম, সাথে কিছু ছোট proof।

সংজ্ঞা: Set ও তার সদস্যতা

একটা set হলো স্বতন্ত্র বস্তুর একটা অ-ক্রমিত (unordered), পুনরাবৃত্তি-হীন সংগ্রহ। \(x \in A\) মানে \(x\) হলো \(A\)-এর একটা উপাদান; \(x \notin A\) মানে নয়। দুটো সেট সমান (\(A = B\)) যদি তাদের উপাদান হুবহু এক হয়। \(A \subseteq B\) যদি \(A\)-এর প্রতিটা উপাদান \(B\)-তেও থাকে; \(A \subset B\) যদি উপরন্তু \(A \neq B\)

সংজ্ঞা: Map ও Function

একটা map \(F : A \to B\) হলো একটা নিয়ম, যা \(A\) (domain)-এর প্রতিটা উপাদান \(a\)-কে \(B\) (codomain)-এর একটা উপাদান \(F(a)\)-তে (image) পাঠায়। প্রতিটা \(a\)-এর জন্য image ঠিক একটাই। যখন codomain হয় সংখ্যার সেট (যেমন \(\mathbb{R}\)), তখন map-টিকে function বলা হয়।

সংজ্ঞা: Injective, Surjective, Bijective

একটা map \(F : A \to B\) হলো —

  • injective (একৈক): যদি \(F(a_1) = F(a_2) \implies a_1 = a_2\)
  • surjective (উপরিচ): যদি প্রতিটা \(b \in B\)-এর জন্য কোনো \(a \in A\) থাকে যেন \(F(a) = b\)
  • bijective (একৈক ও উপরিচ): যদি একই সাথে injective ও surjective হয়; তখনই কেবল inverse \(F^{-1} : B \to A\) থাকে।

সংজ্ঞা: Group ও চারটি axiom

একটা group হলো একটা জোড়া \((G, \circ)\) — একটা সেট \(G\) ও একটা binary operation \(\circ : G \times G \to G\) — যা মানে:

  • Closure: সব \(a, b \in G\)-এর জন্য \(a \circ b \in G\)
  • Associativity: \((a \circ b) \circ c = a \circ (b \circ c)\)
  • Identity: এমন \(e \in G\) আছে যেন \(e \circ a = a \circ e = a\) সব \(a\)-এর জন্য।
  • Inverse: প্রতিটা \(a\)-এর জন্য এমন \(a^{-1} \in G\) আছে যেন \(a \circ a^{-1} = a^{-1} \circ a = e\)

যদি উপরন্তু \(a \circ b = b \circ a\) সব \(a, b\)-এর জন্য, তবে group-টা abelian

সংজ্ঞা: Group action, Orbit, Invariance, Equivariance

\(G\)-এর একটা সেট \(X\)-এর ওপর (left) group action হলো একটা map \(\alpha : G \times X \to X,\ (g, x) \mapsto g \cdot x\), যা মানে — (i) \(e \cdot x = x\), এবং (ii) \((g \circ a) \cdot x = g \cdot (a \cdot x)\)। একটা উপাদান \(x\)-এর orbit হলো \(\text{Orb}(x) = \{g \cdot x \mid g \in G\}\)। একটা function \(f : X \to Y\) হলো \(G\)-invariant যদি \(f(g \cdot x) = f(x)\), আর \(G\)-equivariant যদি \(f(g \cdot_X x) = g \cdot_Y f(x)\)

সংজ্ঞা: Vector space

একটা field \(F\)-এর ওপর vector space হলো একটা সেট \(V\), দুটো operation vector addition ও scalar multiplication সহ, যা উপরে তালিকাভুক্ত আটটা axiom মানে (যোগের associativity, commutativity, identity, inverse; দুই ধরনের distributivity; scalar গুণের compatibility; ও গুণের identity)।

এখন কয়েকটা ছোট, কিন্তু গুরুত্বপূর্ণ উপপাদ্য ও তাদের proof।

উপপাদ্য ১: Group-এর identity উপাদান অনন্য

যেকোনো group \((G, \circ)\)-এ identity উপাদান \(e\) কেবল একটাই।

প্রমাণ। ধরি \(e\)\(e'\) দুটোই identity। যেহেতু \(e\) identity, তাই \(e \circ e' = e'\)। আবার যেহেতু \(e'\)-ও identity, তাই \(e \circ e' = e\)। বাঁ পাশ দুটো একই expression, তাই \(e = e'\)। অতএব identity অনন্য। \(\square\)

উপপাদ্য ২: প্রতিটি উপাদানের inverse অনন্য

group \((G, \circ)\)-এ প্রতিটা \(a\)-এর জন্য তার inverse কেবল একটাই।

প্রমাণ। ধরি \(b\)\(c\) দুটোই \(a\)-এর inverse, অর্থাৎ \(a \circ b = e\)\(c \circ a = e\)। তাহলে

\[ b = e \circ b = (c \circ a) \circ b = c \circ (a \circ b) = c \circ e = c. \]

(এখানে associativity ও identity-র সংজ্ঞা ব্যবহার করলাম।) অতএব \(b = c\), inverse অনন্য। \(\square\)

উপপাদ্য ৩: \(f(n) = 2n\) একটা bijection \(\mathbb{N} \to E\)

জোড় স্বাভাবিক সংখ্যার সেট \(E = \{2, 4, 6, \dots\}\)-এর দিকে \(f : \mathbb{N} \to E,\ f(n) = 2n\) একটা bijection; তাই \(|\mathbb{N}| = |E| = \aleph_0\) যদিও \(E \subset \mathbb{N}\)

প্রমাণ। Injective: ধরি \(f(n_1) = f(n_2)\), অর্থাৎ \(2n_1 = 2n_2\); দুই পাশে \(2\) দিয়ে ভাগ করলে \(n_1 = n_2\)Surjective: যেকোনো \(m \in E\) জোড়, তাই \(m = 2k\) কোনো \(k \in \mathbb{N}\)-এর জন্য; তখন \(f(k) = 2k = m\) — অর্থাৎ \(m\)-এর একটা preimage আছে। যেহেতু \(f\) একই সাথে injective ও surjective, তাই bijective। এই bijection-ই দেখায় দুই সেটের "আকার" এক, যদিও একটা অন্যটার proper subset। \(\square\)


৪. উদাহরণ ও Analogy

উদাহরণ ৪.১ — \(C_4\) group-এর operation table। \(C_4 = \{0^\circ, 90^\circ, 180^\circ, 270^\circ\}\), ক্রিয়া \(\bmod\ 360^\circ\) যোগ। প্রতিটা ঘর হলো "সারির উপাদান \(+\) কলামের উপাদান":

\(+\) \(0^\circ\) \(90^\circ\) \(180^\circ\) \(270^\circ\)
\(0^\circ\) \(0^\circ\) \(90^\circ\) \(180^\circ\) \(270^\circ\)
\(90^\circ\) \(90^\circ\) \(180^\circ\) \(270^\circ\) \(0^\circ\)
\(180^\circ\) \(180^\circ\) \(270^\circ\) \(0^\circ\) \(90^\circ\)
\(270^\circ\) \(270^\circ\) \(0^\circ\) \(90^\circ\) \(180^\circ\)

এই টেবিল থেকে চোখে পড়ে: (ক) প্রতিটা ঘরই আবার \(C_4\)-এর ভেতরে — closure; (খ) \(0^\circ\) যাকে জুড়ছি তাকেই ফেরত দিচ্ছে — identity; (গ) প্রতিটা সারিতে \(0^\circ\) ঠিক একবার আছে, অর্থাৎ প্রতিটা উপাদানের একটা inverse আছে (\(90^\circ\)-এর inverse \(270^\circ\), \(180^\circ\)-এর inverse \(180^\circ\) নিজেই); (ঘ) টেবিলটা প্রধান কর্ণের সাপেক্ষে প্রতিসম — abelian

উদাহরণ ৪.২ — একটা concrete bijection ও তার inverse। ধরো \(f : \mathbb{Z} \to \mathbb{Z},\ f(x) = x + 3\)

  • Injective? \(f(a) = f(b) \Rightarrow a + 3 = b + 3 \Rightarrow a = b\)। হ্যাঁ।
  • Surjective? যেকোনো \(y \in \mathbb{Z}\)-এর জন্য \(x = y - 3\) নিলে \(f(x) = (y - 3) + 3 = y\)। হ্যাঁ।

সুতরাং \(f\) bijective, আর \(f^{-1}(y) = y - 3\)। যাচাই: \(f^{-1}(f(x)) = (x + 3) - 3 = x\)। ✅

উদাহরণ ৪.৩ — isomorphism \(C_4 \cong \mathbb{Z}_4\) \(\phi(k \cdot 90^\circ) = k\) map-টা \(C_4\)-এর operation table-কে ঠিক \(\mathbb{Z}_4\)-এর table-এ পরিণত করে:

\(+_4\) \(0\) \(1\) \(2\) \(3\)
\(0\) \(0\) \(1\) \(2\) \(3\)
\(1\) \(1\) \(2\) \(3\) \(0\)
\(2\) \(2\) \(3\) \(0\) \(1\)
\(3\) \(3\) \(0\) \(1\) \(2\)

টেবিল দুটো "আকৃতিতে" হুবহু এক — শুধু লেবেল আলাদা (\(90^\circ \leftrightarrow 1\))। এটাই isomorphism-এর অর্থ: একই গঠন, ভিন্ন পোশাক।

দৈনন্দিন Analogy।

  • Set = একটা ঝুড়িতে রাখা ফল। একই আপেল দুবার গোনা যায় না (no repetition), আর কোন ফল আগে-পরে রাখলাম তাতে ঝুড়ি বদলায় না (unordered)।
  • Function = একটা ভেন্ডিং মেশিন। প্রতিটা বোতাম (input) চাপলে একটাই নির্দিষ্ট স্ন্যাক (output) বের হয়। injective = দুই বোতামে কখনো একই স্ন্যাক নয়; surjective = প্রতিটা স্ন্যাক অন্তত একটা বোতামে পাওয়া যায়; bijective = প্রতিটা স্ন্যাকের ঠিক একটা করে বোতাম।
  • Group = রুবিক্স কিউবের চাল। প্রতিটা চাল একটা রূপান্তর; দুটো চাল জোড়া দিলে আরেকটা বৈধ অবস্থা (closure); কিছু-না-করা হলো identity; আর প্রতিটা চাল উল্টো দিকে ঘোরালে আগের অবস্থা ফেরে (inverse)।
  • Invariance = তোমার বন্ধুকে চেনা। সে ডানে তাকাক, বাঁয়ে তাকাক, বা মাথা কাত করুক (group action) — তুমি তবু চিনে ফেলো এই একই মানুষ (output অপরিবর্তিত)। Equivariance = ছবি ৯০° ঘোরালে তার মধ্যে চিহ্নিত-করা বিড়ালের বাক্সটাও (bounding box) ঠিক ৯০° ঘুরে যায় — output input-এর সাথে তাল মিলিয়ে বদলায়।

৫. সাধারণ ভুল (Common mistakes)

  1. Set-এ পুনরাবৃত্তি বা ক্রম গুরুত্বপূর্ণ ভাবা। \(\{1, 2, 2, 3\}\) আসলে \(\{1, 2, 3\}\), আর \(\{1, 2\} = \{2, 1\}\)। পুনরাবৃত্তি দরকার হলে সেটা multiset, set নয়।
  2. \(\emptyset\) আর \(\{\emptyset\}\) গুলিয়ে ফেলা। \(\emptyset\)-এ কোনো উপাদান নেই (\(|\emptyset| = 0\)); কিন্তু \(\{\emptyset\}\)-এ একটা উপাদান আছে — সেটা হলো empty set নিজেই (\(|\{\emptyset\}| = 1\))।
  3. অসীম সেট নিয়ে "proper subset হলে ছোট" ভাবা। \(E \subset \mathbb{N}\), তবু \(|E| = |\mathbb{N}| = \aleph_0\)। অসীমের জগতে অংশ ও পূর্ণের "আকার" সমান হতে পারে (Hilbert Hotel-এর মতো)।
  4. Surjective আর injective গুলিয়ে ফেলা। injective = "দুই input কখনো এক output নয়" (input-এর দিক থেকে); surjective = "কোনো output খালি নেই" (output-এর দিক থেকে)। bijective হতে দুটোই লাগে।
  5. যেকোনো map-এর inverse আছে ভাবা। কেবল bijective map-এরই inverse থাকে। Neural network সাধারণত bijective নয়, তাই তার সরল inverse নেই।
  6. Composition-কে commutative ভাবা। \(g \circ f\)\(f \circ g\) সাধারণত আলাদা। \(f(x) = x^2, g(x) = \sin x\) হলে \(\sin(x^2) \neq (\sin x)^2\)
  7. Closure ভুলে যাওয়া। \((\mathbb{Z}, \cdot)\) (গুণের অধীনে পূর্ণসংখ্যা) group নয় — কারণ \(2\)-এর গুণজ inverse \(\frac{1}{2}\) পূর্ণসংখ্যা নয়, তাই inverse axiom ভাঙে। শুধু চারটে axiom "মনে হচ্ছে ঠিক" বললে হবে না, প্রতিটা যাচাই করতে হবে।
  8. Identity ভুল ধরা। যোগের group-এ identity \(0\), কিন্তু গুণের group-এ identity \(1\) — operation বদলালে identity-ও বদলায়।
  9. Homomorphism আর isomorphism এক ভাবা। সব isomorphism homomorphism, কিন্তু উল্টোটা নয়। \(\psi : C_4 \to C_2\) homomorphism কিন্তু injective না হওয়ায় isomorphism নয়।
  10. Invariance ও equivariance গুলিয়ে ফেলা। invariant: input বদলালেও output একই (\(f(g\cdot x) = f(x)\))। equivariant: output input-এর সাথে তাল মিলিয়ে বদলায় (\(f(g \cdot x) = g \cdot f(x)\))। classification-এ শেষে invariance চাই; মাঝের layer-এ equivariance চাই।
  11. Vector মানেই "তীর" বা "সংখ্যার সারি" ভাবা। vector হলো এমন যেকোনো বস্তু, যাকে যোগ ও scale করে axiom মানা যায় — function-ও vector হতে পারে।
  12. Scalar \(0\) আর vector \(\mathbf{0}\) এক করে ফেলা। একই প্রতীকে লেখা হলেও একটা field-এর উপাদান, আরেকটা vector space-এর — context থেকে বুঝতে হয়।

৬. এক্সারসাইজ (Exercises)

  1. ধরো \(A = \{1, 2, 3, 4\}\)\(B = \{3, 4, 5, 6\}\)। বের করো: \(A \cup B\), \(A \cap B\), \(A \setminus B\), এবং \(|A \times B|\)
  2. set-builder notation-এ \(\{3, 6, 9, 12, \dots\}\) (তিনের গুণিতক) দুইভাবে লেখো। আর দেখাও \(\{x \in \mathbb{Q} \mid x^2 = 3\} = \emptyset\)
  3. নিচের প্রতিটা map injective / surjective / bijective কি না বলো ও কারণ দাও: (ক) \(f : \mathbb{R} \to \mathbb{R},\ f(x) = x^2\); (খ) \(f : \mathbb{R} \to \mathbb{R},\ f(x) = 2x + 1\); (গ) \(f : \mathbb{Z} \to \mathbb{Z},\ f(x) = x^2\)
  4. প্রমাণ করো \(f : \mathbb{Z} \to \mathbb{Z},\ f(x) = x + 5\) একটা bijection এবং \(f^{-1}\) বের করো। তারপর \(g(x) = 2x\) নিয়ে \(g \circ f\)\(f \circ g\) বের করে দেখাও এরা সমান নয়।
  5. \(C_4\)-এর operation table বানিয়ে দেখাও এটা abelian; প্রতিটা উপাদানের inverse বের করো; এবং প্রমাণ করো \(C_2 = \{0^\circ, 180^\circ\}\) একটা subgroup।
  6. দেখাও \((\mathbb{R}, +)\) একটা group কিন্তু \((\mathbb{R}, \cdot)\) group নয়; তবে \((\mathbb{R} \setminus \{0\}, \cdot)\) group। এর সাথে field-এর সংজ্ঞা মিলিয়ে ব্যাখ্যা করো \(\mathbb{R}\) কেন একটা field।
  7. (GDL-সংযোগ) \(C_4\) square-এর চার কোণবিন্দু \(V = \{\hat{A}, \hat{B}, \hat{C}, \hat{D}\}\)-এর ওপর act করে। \(\hat{A}\)-এর orbit বের করো। এরপর image-এর ওপর একটা \(G\)-invariant ও একটা \(G\)-equivariant function-এর উদাহরণ দাও এবং Mona Lisa-র স্বজ্ঞা দিয়ে পার্থক্য বোঝাও।
  8. (GDL-সংযোগ) প্রমাণ করো \(\phi : C_4 \to \mathbb{Z}_4,\ \phi(k \cdot 90^\circ) = k\) একটা isomorphism। ব্যাখ্যা করো \(C_4\)\(C_2\) কেন isomorphic নয়। শেষে বলো — symmetry (invariance/equivariance) মডেলে গেঁথে দিলে কীভাবে hypothesis class ছোট হয় এবং তাতে কী সুবিধা।

৭. সমাধান (ব্যাখ্যাসহ)

১-নং সমাধান দেখাও

\(A = \{1, 2, 3, 4\}\), \(B = \{3, 4, 5, 6\}\)

  • Union (যা \(A\) বা \(B\)-তে আছে): \(A \cup B = \{1, 2, 3, 4, 5, 6\}\)
  • Intersection (যা উভয়েই): \(A \cap B = \{3, 4\}\)
  • Difference (\(A\)-তে আছে, \(B\)-তে নেই): \(A \setminus B = \{1, 2\}\)
  • Cartesian product-এর আকার: \(|A \times B| = |A| \cdot |B| = 4 \times 4 = 16\)। (প্রতিটা \(a\)-এর সাথে ৪টা \(b\) জোড়া বাঁধে, তাই মোট \(4 \times 4\)টা ordered pair।)
২-নং সমাধান দেখাও

দুইভাবে তিনের গুণিতক:

\[ \{3x \mid x \in \mathbb{N}\} = \{x \in \mathbb{N} \mid x \text{ is divisible by } 3\} = \{3, 6, 9, \dots\}. \]

এবার \(\{x \in \mathbb{Q} \mid x^2 = 3\}\): সমীকরণ \(x^2 = 3\)-এর সমাধান \(x = \pm\sqrt{3}\), যা অমূলদ (irrational)। তাই কোনো মূলদ সংখ্যা এই শর্ত মেটায় না, ফলে সেটটা খালি:

\[ \{x \in \mathbb{Q} \mid x^2 = 3\} = \emptyset. \]
৩-নং সমাধান দেখাও

(ক) \(f : \mathbb{R} \to \mathbb{R},\ f(x) = x^2\): injective নয়, কারণ \(f(-2) = f(2) = 4\) কিন্তু \(-2 \neq 2\)। surjective-ও নয়, কারণ ঋণাত্মক সংখ্যা (যেমন \(-1\)) কোনো বাস্তব \(x\)-এর জন্য output হয় না (\(x^2 \ge 0\))। তাই bijective নয়।

(খ) \(f : \mathbb{R} \to \mathbb{R},\ f(x) = 2x + 1\): injective — \(2a + 1 = 2b + 1 \Rightarrow a = b\)। surjective — যেকোনো \(y\)-এর জন্য \(x = \frac{y-1}{2}\) নিলে \(f(x) = y\)। দুটোই সত্য, তাই bijective

(গ) \(f : \mathbb{Z} \to \mathbb{Z},\ f(x) = x^2\): injective নয় (আবার \(\pm 2 \mapsto 4\))। surjective নয় (যেমন \(3\) কোনো পূর্ণসংখ্যার বর্গ নয়)। তাই bijective নয়।

৪-নং সমাধান দেখাও

Injective: \(f(a) = f(b) \Rightarrow a + 5 = b + 5 \Rightarrow a = b\)। ✅

Surjective: যেকোনো \(y \in \mathbb{Z}\)-এর জন্য \(x = y - 5 \in \mathbb{Z}\) নিলে \(f(x) = (y-5)+5 = y\)। ✅

সুতরাং \(f\) bijective, আর

\[ f^{-1}(y) = y - 5. \]

এবার composition (\(g(x) = 2x\)):

\[ (g \circ f)(x) = g(f(x)) = g(x + 5) = 2(x + 5) = 2x + 10, \]
\[ (f \circ g)(x) = f(g(x)) = f(2x) = 2x + 5. \]

যেহেতু \(2x + 10 \neq 2x + 5\), তাই \(g \circ f \neq f \circ g\) — composition commutative নয়।

৫-নং সমাধান দেখাও

\(C_4\)-এর operation table (৪.১-এ দেখানো):

\(+\) \(0^\circ\) \(90^\circ\) \(180^\circ\) \(270^\circ\)
\(0^\circ\) \(0^\circ\) \(90^\circ\) \(180^\circ\) \(270^\circ\)
\(90^\circ\) \(90^\circ\) \(180^\circ\) \(270^\circ\) \(0^\circ\)
\(180^\circ\) \(180^\circ\) \(270^\circ\) \(0^\circ\) \(90^\circ\)
\(270^\circ\) \(270^\circ\) \(0^\circ\) \(90^\circ\) \(180^\circ\)

Abelian: টেবিলটা প্রধান কর্ণের সাপেক্ষে প্রতিসম, অর্থাৎ \(a + b = b + a\) সবসময়। ✅

Inverse-গুলো (যাকে জুড়লে \(0^\circ\) পাই): \(0^\circ\)-এর inverse \(0^\circ\); \(90^\circ\)-এর inverse \(270^\circ\); \(180^\circ\)-এর inverse \(180^\circ\); \(270^\circ\)-এর inverse \(90^\circ\)

\(C_2 = \{0^\circ, 180^\circ\}\) subgroup: (i) closure — \(180^\circ + 180^\circ = 360^\circ \equiv 0^\circ \in C_2\), আর বাকিগুলোও \(C_2\)-তেই থাকে; (ii) identity \(0^\circ \in C_2\); (iii) \(180^\circ\)-এর inverse \(180^\circ \in C_2\); associativity \(C_4\) থেকেই উত্তরাধিকারসূত্রে পায়। সব axiom মানে, তাই \(C_2 \le C_4\)। ✅

৬-নং সমাধান দেখাও

\((\mathbb{R}, +)\) group: closure (\(a+b \in \mathbb{R}\)), associativity, identity \(0\), প্রতিটা \(a\)-এর inverse \(-a\) — সব মানে, এমনকি commutative-ও, তাই abelian group। ✅

\((\mathbb{R}, \cdot)\) group নয়: identity \(1\) পর্যন্ত ঠিক, কিন্তু \(0\)-এর কোনো গুণজ inverse নেই (\(0 \cdot x = 1\) অসম্ভব)। তাই inverse axiom ভাঙে — group নয়।

\((\mathbb{R} \setminus \{0\}, \cdot)\) group: \(0\) বাদ দিলে প্রতিটা \(a\)-এর inverse \(\frac{1}{a}\) থাকে; closure, associativity, identity \(1\) — সব মানে, abelian group। ✅

\(\mathbb{R}\) একটা field: field-এর সংজ্ঞা মতে (i) \((\mathbb{R}, +)\) abelian group, (ii) \((\mathbb{R} \setminus \{0\}, \cdot)\) abelian group, (iii) গুণ যোগের ওপর distributive — তিনটেই \(\mathbb{R}\) মানে। তাই \(\mathbb{R}\) একটা field।

৭-নং সমাধান দেখাও

\(\hat{A}\)-এর orbit: \(C_4\)-এর প্রতিটা ঘূর্ণন \(\hat{A}\)-কে কোথায় পাঠায় দেখি — \(0^\circ: \hat{A}\), \(90^\circ: \hat{B}\), \(180^\circ: \hat{C}\), \(270^\circ: \hat{D}\)। তাই

\[ \text{Orb}(\hat{A}) = \{\hat{A}, \hat{B}, \hat{C}, \hat{D}\}. \]

অর্থাৎ ঘোরালে \(\hat{A}\) চারটে কোণবিন্দুর যেকোনোটাতে যেতে পারে — গোটা সেটই তার orbit।

\(G\)-invariant function: ধরো $f(\text{image}) = $ "এতে কি একটা মুখ আছে?" (face recognition-এর সিদ্ধান্ত)। ছবি \(0^\circ/90^\circ/180^\circ/270^\circ\) যেভাবেই ঘোরাও, উত্তর একই — \(f(g \cdot x) = f(x)\)। এটাই invariance।

\(G\)-equivariant function: ধরো $f(\text{image}) = $ "মুখের চারপাশে bounding box আঁকো"। ছবি \(90^\circ\) ঘোরালে box-টাও ঠিক \(90^\circ\) ঘুরে যায় — \(f(g \cdot x) = g \cdot f(x)\)। এটাই equivariance।

Mona Lisa স্বজ্ঞা: ছবিটার চারটে ঘোরানো কপি একই orbit-এ। একটা invariant চেনা-যন্ত্র চারটেকেই "একই মুখ" বলে (একই output); একটা equivariant যন্ত্র চোখ-নাকের অবস্থান ছবির সাথে তাল মিলিয়ে ঘুরিয়ে দেয়। GDL-এ মাঝের layer-গুলো equivariant রেখে গঠন ধরে রাখা হয়, আর শেষ ধাপে invariant করে চূড়ান্ত শ্রেণি বলা হয়।

৮-নং সমাধান দেখাও

\(\phi : C_4 \to \mathbb{Z}_4,\ \phi(k \cdot 90^\circ) = k\) একটা isomorphism —

Homomorphism: \(C_4\)-এ যোগ \(\bmod\ 360^\circ\), \(\mathbb{Z}_4\)-এ যোগ \(\bmod\ 4\)। দেখাতে হবে \(\phi(a + b \bmod 360^\circ) = \phi(a) + \phi(b) \bmod 4\)। যদি \(a = i \cdot 90^\circ, b = j \cdot 90^\circ\), তবে \(a + b = (i + j) \cdot 90^\circ \bmod 360^\circ\), তাই বাঁ পাশ \(= (i + j) \bmod 4\); ডান পাশ \(= i + j \bmod 4\)। মিলে গেল। ✅

Bijective: \(\phi\) চারটে ভিন্ন উপাদানকে চারটে ভিন্ন উপাদানে পাঠায় (injective), আর \(\mathbb{Z}_4\)-এর প্রতিটা উপাদান ছোঁয়া হয় (surjective)। তাই bijective। bijective homomorphism = isomorphism, অতএব \(C_4 \cong \mathbb{Z}_4\)

\(C_4 \not\cong C_2\): \(|C_4| = 4\) কিন্তু \(|C_2| = 2\)। isomorphism একটা bijection দাবি করে, আর ভিন্ন আকারের দুই সসীম সেটের মধ্যে bijection অসম্ভব। তাই কোনো isomorphism নেই (যদিও homomorphism \(\psi\) থাকতে পারে, যা injective নয়)।

Symmetry ও hypothesis class: invariance/equivariance মডেলে গেঁথে দিলে আমরা সেই সব function-ই কেবল বিবেচনা করি যেগুলো ডেটার symmetry মানে — বাকি অগণিত function আগেই বাদ। ফলে hypothesis class ছোট হয়। সুবিধা: (i) খোঁজার জায়গা ছোট, তাই কম ডেটাতেই ভালো শেখা যায়; (ii) মডেল symmetry মেনে চলে বলে বেশি robust ও interpretable; (iii) generalization ভালো হয়। এটাই GDL-এর মূল বাজি।


৮. সারসংক্ষেপ ও Checklist

এই অধ্যায়ে আমরা "সংখ্যার আগের গণিত" ধাপে ধাপে গড়েছি — সবচেয়ে সরল set থেকে শুরু করে map/function, তারপর group ও তার symmetry, এবং শেষে fieldvector space/tensor। প্রতিটা ধাপেই দেখেছি কীভাবে এগুলো Geometric Deep Learning-এর ভিত হিসেবে কাজ করে — বিশেষত group কীভাবে data-র transformation ও symmetry-কে ভাষা দেয়, আর invariance/equivariance কীভাবে neural network-এর গঠনকে data-র জ্যামিতির সাথে মেলায়।

নিজেকে যাচাই করো:

  • [ ] set, element, subset, union/intersection/difference/complement, power set বুঝেছি
  • [ ] cardinality ও countable infinity (\(\aleph_0\)), আর bijection দিয়ে "same size"-এর ধারণা বুঝেছি
  • [ ] Cartesian product ও ordered pair বুঝেছি
  • [ ] map ও function-এর পার্থক্য, এবং domain/codomain/image/preimage বুঝেছি
  • [ ] injective, surjective, bijective আলাদা করতে পারি ও কখন inverse থাকে জানি
  • [ ] composition ও তার সাথে deep learning-এর (layer, feature map) সংযোগ বুঝেছি
  • [ ] hypothesis class কী, আর symmetry দিয়ে তা ছোট করার সুবিধা বুঝেছি
  • [ ] group ও চারটি axiom (closure, associativity, identity, inverse) বুঝেছি ও যাচাই করতে পারি
  • [ ] abelian, subgroup, order বুঝেছি
  • [ ] homomorphism ও isomorphism-এর পার্থক্য বুঝেছি
  • [ ] group action, orbit, invariance, equivariance বুঝেছি ও উদাহরণ দিতে পারি
  • [ ] field ও তার axiom বুঝেছি
  • [ ] vector space ও তার আটটি axiom বুঝেছি
  • [ ] scalar/vector/matrix/tensor ও Einstein summation বুঝেছি, আর deep learning-এ \([B, C, H, W]\) tensor চিনি

➡️ পরের অধ্যায়: 8.2 — Geometric ও Analytical Structures — norm, metric ও inner product দিয়ে "দূরত্ব" ও "কোণ"।