ஆழ்ந்த கற்றல் சுய கற்றல் வளங்கள்: இலவச புத்தகங்கள், படிப்புகள் மற்றும் நடைமுறை கருவிகள்
Deep Learning 自学资源大放送:免费书籍、课程与实用工具
சமீபத்திய ஆண்டுகளில், ஆழமான கற்றல் (Deep Learning) செயற்கை நுண்ணறிவு துறையில் ஒரு முக்கியமான கிளையாக குறிப்பிடத்தக்க சாதனைகளை அடைந்துள்ளது. பட அங்கீகாரம், இயற்கை மொழி செயலாக்கம் அல்லது வலுவூட்டல் கற்றல் என எதுவாக இருந்தாலும், ஆழமான கற்றல் ஒவ்வொரு துறையிலும் ஒரு சக்திவாய்ந்த திறனைக் காட்டுகிறது. இருப்பினும், ஆழமான கற்றலில் நுழைய அல்லது ஆழமாக கற்றுக்கொள்ள விரும்பும் டெவலப்பர்களுக்கு, ஏராளமான தரவு மற்றும் சிக்கலான கருத்துக்களை எதிர்கொள்ளும்போது, அவர்கள் பெரும்பாலும் வழி தெரியாமல் இருப்பார்கள்.
இந்த கட்டுரை X/Twitter இல் பிரபலமான விவாதத்தின் அடிப்படையில், புத்தகங்கள், படிப்புகள் மற்றும் நடைமுறை கருவிகள் உட்பட இலவச ஆழமான கற்றல் சுய கற்றல் வளங்களின் வரிசையைத் தேர்ந்தெடுத்துள்ளது, இது வாசகர்களுக்கு ஒரு தெளிவான மற்றும் நடைமுறை கற்றல் பாதையை வழங்குவதை நோக்கமாகக் கொண்டுள்ளது, மேலும் ஆழமான கற்றலின் முக்கிய திறன்களை விரைவாக மாஸ்டர் செய்ய அனைவருக்கும் உதவுகிறது.
ஒன்று, இலவச புத்தக வளங்கள்: கோட்பாட்டு அடிப்படை மற்றும் நடைமுறை வழிகாட்டுதல்
கோட்பாட்டு அடிப்படை என்பது ஆழமான கற்றலின் அடித்தளம். திடமான கணிதம் மற்றும் இயந்திர கற்றல் அடிப்படைகளை மாஸ்டர் செய்வது, ஆழமான கற்றலைப் புரிந்துகொள்வதற்கும் பயன்படுத்துவதற்கும் அவசியம். அடிப்படை கோட்பாடு முதல் நடைமுறை பயன்பாடு வரை பல்வேறு அம்சங்களை உள்ளடக்கிய சில இலவச புத்தகங்கள் கீழே பரிந்துரைக்கப்படுகின்றன:
1. இயந்திர கற்றலைப் புரிந்துகொள்வது (Understanding Machine Learning)
- இணைப்பு:
https://cs.huji.ac.il/~shais/UnderstandingMachineLearning/understanding-machine-learning-theory-algorithms.pdf - சிறப்பியல்புகள்: இந்த புத்தகம் இயந்திர கற்றலின் கோட்பாட்டு அடிப்படைகளை ஆழமாக ஆராய்கிறது, பொதுமைப்படுத்தல் கோட்பாடு, PAC கற்றல், VC பரிமாணம் மற்றும் பிற முக்கியமான கருத்துக்களை உள்ளடக்கியது. இது ஒரு பாடப்புத்தகமாக மட்டுமல்லாமல், இயந்திர கற்றல் கோட்பாட்டில் ஆர்வமுள்ள வாசகர்களுக்கும் ஏற்றது.
- பரிந்துரைக்கான காரணம்: கோட்பாடு மற்றும் வழிமுறைகள் இரண்டும் முக்கியத்துவம் வாய்ந்தவை, இது ஒரு திடமான இயந்திர கற்றல் அறிவு அமைப்பை உருவாக்க உதவுகிறது.
2. இயந்திர கற்றலுக்கான கணிதம் (Mathematics for Machine Learning)
- இணைப்பு:
https://mml-book.github.io/book/mml-book.pdf - சிறப்பியல்புகள்: இந்த புத்தகம் நேரியல் இயற்கணிதம், நுண்கணிதம், நிகழ்தகவு கோட்பாடு உள்ளிட்ட இயந்திர கற்றலுக்கு தேவையான கணித அறிவை முறையாக அறிமுகப்படுத்துகிறது. இது இயந்திர கற்றலில் கணித கருத்துக்களின் பயன்பாட்டை வலியுறுத்துகிறது மற்றும் வாசகர்களுக்குப் புரிந்துகொள்ள உதவும் ஏராளமான எடுத்துக்காட்டுகள் மூலம்.
- பரிந்துரைக்கான காரணம்: பலவீனமான கணித அடித்தளம் உள்ள வாசகர்களுக்கு, இது ஒரு அரிய அறிமுக பாடப்புத்தகம், இது கணித அறிவின் குறைபாட்டை திறம்பட ஈடுசெய்யும்.
3. ML வழிமுறைகளின் கணித பகுப்பாய்வு (Mathematical Analysis of ML Algorithms)
- இணைப்பு:
https://tongzhang-ml.org/lt-book/lt-book.pdf - சிறப்பியல்புகள்: பல்வேறு இயந்திர கற்றல் வழிமுறைகளின் கணிதக் கொள்கைகளை ஆழமாக பகுப்பாய்வு செய்கிறது, குவிந்த தேர்வுமுறை, சீரற்ற சாய்வு இறக்கம் மற்றும் பிற முக்கியமான உள்ளடக்கங்களை உள்ளடக்கியது. இந்த புத்தகம் ஒரு குறிப்பிட்ட கணித அடித்தளம் உள்ள மற்றும் வழிமுறை கொள்கைகளை ஆழமாக புரிந்து கொள்ள விரும்பும் வாசகர்களுக்கு ஏற்றது.
- பரிந்துரைக்கான காரணம்: கணித பகுப்பாய்வு மூலம், வழிமுறையின் சாரத்தை ஆழமாக புரிந்து கொள்ள முடியும், மேலும் வழிமுறை தேர்வுமுறை மற்றும் புதுமைக்கு ஒரு அடித்தளத்தை அமைக்க முடியும்.
4. ஆழமான கற்றலுக்கான அறிமுகம் (Understanding Deep Learning)
- இணைப்பு:
https://udlbook.github.io/udlbook/ - சிறப்பியல்புகள்: இந்த புத்தகம் ஆழமான கற்றல் துறையில் உள்ள நிபுணர்களால் எழுதப்பட்டது, மேலும் ஆழமான கற்றலின் அடிப்படை கருத்துக்கள், மாதிரிகள் மற்றும் வழிமுறைகளை முறையாக அறிமுகப்படுத்துகிறது. இது சுருள் நரம்பியல் நெட்வொர்க்குகள் (CNN), சுழல் நரம்பியல் நெட்வொர்க்குகள் (RNN) மற்றும் டிரான்ஸ்பார்மர் போன்ற பல்வேறு பொதுவான ஆழமான கற்றல் மாதிரிகளை உள்ளடக்கியது.
- பரிந்துரைக்கான காரணம்: உள்ளடக்கம் விரிவானது மற்றும் எளிதில் புரிந்துகொள்ளக்கூடியது, இது ஆழமான கற்றலுக்கான அறிமுக பாடப்புத்தகமாக ஏற்றது.
5. இயந்திர கற்றலின் அடிப்படைகள் (Foundations of Machine Learning)
-
இணைப்பு:
https://cs.nyu.edu/~mohri/mlbook/ -
சிறப்பியல்புகள்: மேற்பார்வையிடப்பட்ட கற்றல், மேற்பார்வையிடப்படாத கற்றல், வலுவூட்டல் கற்றல் உள்ளிட்ட இயந்திர கற்றலின் அடிப்படை அறிவை உள்ளடக்கியது. இந்த புத்தகம் பல்வேறு இயந்திர கற்றல் வழிமுறைகளின் கொள்கைகள் மற்றும் பயன்பாடுகளை மையமாகக் கொண்டுள்ளது.
-
பரிந்துரைக்கான காரணம்: உள்ளடக்கம் பரவலானது, இது ஒரு முழுமையான இயந்திர கற்றல் அறிவு அமைப்பை உருவாக்க ஏற்றது. 6. இயந்திர கற்றல் வழிமுறைகள் (Algorithms for ML)
-
இணைப்பு:
https://algorithmsbook.com -
சிறப்பியல்புகள்: இயந்திர கற்றல் வழிமுறைகளின் விளக்கத்தில் கவனம் செலுத்துகிறது, அடிப்படை நேரியல் பின்னடைவு முதல் மேம்பட்ட ஆழமான கற்றல் வழிமுறைகள் வரை, விரிவான அறிமுகம் மற்றும் குறியீடு எடுத்துக்காட்டுகள் உள்ளன.
-
பரிந்துரைக்க காரணம்: நடைமுறைக்கு முக்கியத்துவம் அளிக்கிறது, குறியீடு மூலம் வழிமுறைகளை கற்க ஏற்றது. 7. வலுவூட்டல் கற்றல் (Reinforcement Learning)
-
இணைப்பு:
https://andrew.cmu.edu/course/10-703/textbook/BartoSutton.pdf -
சிறப்பியல்புகள்: வலுவூட்டல் கற்றல் துறையில் ஒரு உன்னதமான பாடநூல், வலுவூட்டல் கற்றலின் அடிப்படைக் கருத்துக்கள், வழிமுறைகள் மற்றும் பயன்பாடுகளை முறையாக அறிமுகப்படுத்துகிறது.
-
பரிந்துரைக்க காரணம்: உள்ளடக்கம் நம்பகமானது, வலுவூட்டல் கற்றலைக் கற்க வேண்டிய புத்தகம்.
இரண்டு, ஸ்டான்போர்ட் பல்கலைக்கழகத்தின் இலவச ஆழமான கற்றல் பாடநெறி: அறிமுகம் முதல் மேம்பட்ட நிலை வரை
ஸ்டான்போர்ட் பல்கலைக்கழகம் செயற்கை நுண்ணறிவு துறையில் புகழ்பெற்றது, அதன் இலவச ஆன்லைன் படிப்புகள் ஆழமான கற்றலின் அனைத்து அம்சங்களையும் உள்ளடக்கியது. பரிந்துரைக்கத்தக்க சில படிப்புகள் இங்கே:
- CS221 - செயற்கை நுண்ணறிவு (Artificial Intelligence): செயற்கை நுண்ணறிவின் கண்ணோட்டப் பாடம், ஆழமான கற்றல் படிப்புக்கு அடித்தளம் அமைக்கிறது.
- CS229 - இயந்திர கற்றல் (Machine Learning): உன்னதமான இயந்திர கற்றல் பாடம், பல்வேறு இயந்திர கற்றல் வழிமுறைகளின் கோட்பாடுகள் மற்றும் பயன்பாடுகளை உள்ளடக்கியது.
- CS230 - ஆழமான கற்றல் (Deep Learning): ஆழமான கற்றல் அறிமுகப் பாடம், ஆழமான கற்றலின் அடிப்படைக் கருத்துக்கள், மாதிரிகள் மற்றும் வழிமுறைகளை அறிமுகப்படுத்துகிறது.
- CS234 - வலுவூட்டல் கற்றல் (Reinforcement Learning): வலுவூட்டல் கற்றல் பாடம், வலுவூட்டல் கற்றலின் அடிப்படைக் கருத்துக்கள், வழிமுறைகள் மற்றும் பயன்பாடுகளை உள்ளடக்கியது.
- CS231N - சுருள் நரம்பியல் நெட்வொர்க்குகள் மற்றும் காட்சி அங்கீகாரம் (Convolutional Neural Networks for Visual Recognition): சுருள் நரம்பியல் நெட்வொர்க்குகள் மற்றும் கணினி பார்வை துறையில் அதன் பயன்பாடுகளில் கவனம் செலுத்துகிறது.
- CS336 - ஸ்கிராட்சிலிருந்து பெரிய மொழி மாதிரி (LLM from Scratch): பெரிய மொழி மாதிரியின் கட்டுமானம் மற்றும் பயிற்சி செயல்முறையை அறிமுகப்படுத்துகிறது. கற்றல் ஆலோசனைகள்:
- பொருத்தமான பாடத்தைத் தேர்ந்தெடுக்கவும்: உங்கள் சொந்த அடிப்படை மற்றும் ஆர்வத்தின் அடிப்படையில், பொருத்தமான பாடத்தைத் தேர்ந்தெடுக்கவும்.
- வீட்டுப்பாடத்தை கவனமாக முடிக்கவும்: பாடத்தின் வீட்டுப்பாடம் அறிவை ஒருங்கிணைப்பதற்கான ஒரு முக்கியமான படியாகும், அதை கவனமாக முடிக்க வேண்டும்.
- விவாதத்தில் தீவிரமாக பங்கேற்கவும்: பாட விவாதத்தில் தீவிரமாக பங்கேற்கவும், மற்ற கற்பவர்களுடன் அனுபவங்களையும் நுண்ணறிவுகளையும் பரிமாறிக்கொள்ளவும்.
மூன்று, நடைமுறை கருவிகள் மற்றும் நுட்பங்கள்: கற்றல் திறனை மேம்படுத்துதல்
கோட்பாட்டு கற்றல் மற்றும் பாடநெறி கற்றலுக்கு கூடுதலாக, சில நடைமுறை கருவிகள் மற்றும் நுட்பங்கள் ஆழமான கற்றலை மிகவும் திறமையாகக் கற்க உதவும்.
1. Google Colab அல்லது Kaggle Kernel ஐப் பயன்படுத்தவும்:
- Google Colab மற்றும் Kaggle Kernel இலவச GPU ஆதாரங்களை வழங்குகின்றன, ஆழமான கற்றல் குறியீட்டை இயக்க வசதியாக இருக்கும்.
- அவை ஆன்லைன் எடிட்டிங் மற்றும் ஒத்துழைப்பையும் ஆதரிக்கின்றன, மற்றவர்களுடன் இணைந்து படிக்க வசதியாக இருக்கும்.
எடுத்துக்காட்டு குறியீடு (Google Colab இல் TensorFlow ஐப் பயன்படுத்தி ஒரு எளிய CNN ஐப் பயிற்றுவித்தல்):
import tensorflow as tf
# மாதிரியை வரையறுக்கவும்
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(10, activation='softmax')
])
```# மாதிரியைத் தொகுத்தல்
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# MNIST தரவுத் தொகுப்பை ஏற்றுதல்
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train = x_train.reshape(-1, 28, 28, 1).astype('float32') / 255.0
x_test = x_test.reshape(-1, 28, 28, 1).astype('float32') / 255.0
# மாதிரியைப் பயிற்றுவித்தல்
model.fit(x_train, y_train, epochs=2)
# மாதிரியை மதிப்பிடுதல்
loss, accuracy = model.evaluate(x_test, y_test, verbose=0)
print('Loss: %.2f' % loss)
print('Accuracy: %.2f' % accuracy)
2. காட்சிப்படுத்தல் கருவிகளைப் பயன்படுத்துதல்:
- TensorBoard மற்றும் Visdom போன்ற காட்சிப்படுத்தல் கருவிகள் மாதிரியின் கட்டமைப்பு மற்றும் பயிற்சி செயல்முறையை நன்கு புரிந்து கொள்ள உதவும்.
- இழப்புச் சார்பு, செயல்படுத்தும் மதிப்புகள் போன்றவற்றை காட்சிப்படுத்துவதன் மூலம், மாதிரியின் நடத்தையை மிகவும் உள்ளுணர்வுடன் புரிந்து கொள்ள முடியும்.
3. திறந்த மூல திட்டங்களில் பங்கேற்கவும்:
- ஆழமான கற்றல் திறன்களை மேம்படுத்துவதற்கான ஒரு பயனுள்ள வழி திறந்த மூல திட்டங்களில் பங்கேற்பது.
- திறந்த மூலக் குறியீட்டைப் படிப்பதன் மூலமும் மாற்றுவதன் மூலமும், சிறந்த நிரலாக்க நடைமுறைகள் மற்றும் வடிவமைப்பு சிந்தனைகளைக் கற்றுக்கொள்ளலாம்.
4. தொடர்ந்து கற்றல் மற்றும் பயிற்சி:
- ஆழமான கற்றல் என்பது வேகமாக வளர்ந்து வரும் ஒரு களம், புதிய அறிவு மற்றும் தொழில்நுட்பங்களை தொடர்ந்து கற்றுக்கொள்ள வேண்டும்.
- உண்மையான திட்டங்கள் மூலம், கற்ற அறிவை உண்மையான சிக்கல்களைத் தீர்க்கப் பயன்படுத்துவதன் மூலம், ஆழமான கற்றலை உண்மையில் மாஸ்டர் செய்ய முடியும்.
5. NLP இல் உள்ள Transformer கட்டமைப்பைக் கற்றுக்கொள்ளுங்கள்:
- Jay Alammar’s guide ஐ ஆழமாகப் படியுங்கள் (குறிப்பிட்ட உள்ளடக்கத்தை தொடர்புடைய கட்டுரையில் தேட வேண்டும்).
- FFN (Feed Forward Network), LayerNorm (Layer Normalization) மற்றும் Residuals (எஞ்சிய இணைப்புகள்) கருத்துகளைப் புரிந்து கொள்ளுங்கள்.
- ஒரு முழுமையான Transformer Encoder-Decoder block ஐ புதிதாக செயல்படுத்த முயற்சிக்கவும்.
6. பங்குச் சந்தை வர்த்தகத்தில் பயன்பாடுகளைக் கற்றுக்கொள்ளுங்கள் (குறிப்புக்கு மட்டும், உங்கள் சொந்த ஆபத்தில்):
- பங்குத் தேர்வுக்கு ஆழமான கற்றலை எவ்வாறு பயன்படுத்துவது என்பதை அறிக.
- கவனம்: இந்த வகை பயன்பாடுகளில் நிதி அபாயங்கள் உள்ளன, கவனமாக மதிப்பீடு செய்து செயல்பட வேண்டும்.
7. தொழில்துறை போக்குகளைப் பின்தொடரவும்:
- DeepLearningAI போன்ற நிறுவனங்களின் பகிர்வுகளைப் பின்தொடரவும், ஆழமான கற்றல் துறையில் சமீபத்திய முன்னேற்றங்களைப் புரிந்து கொள்ளவும்.
நான்கு, கற்றலில் உள்ள சவால்களை சமாளித்தல்
ஆழமான கற்றலைக் கற்றுக்கொள்வதில் சில சவால்கள் இருக்கலாம், எடுத்துக்காட்டாக:
- சிக்கலான கருத்து: ஆழமான கற்றலில் பல சிக்கலான கணித மற்றும் வழிமுறை கருத்துகள் உள்ளன.
- வளப் பற்றாக்குறை: கணினி வளங்கள் மற்றும் தரவு வளங்கள் இல்லாதது.
- வழிகாட்டுதல் இல்லாமை: தொழில்முறை வழிகாட்டுதல் மற்றும் ஆதரவு இல்லாதது.
இந்த சவால்களை சமாளிக்க, பின்வரும் நடவடிக்கைகளை எடுக்கலாம்:
- கற்றல் இலக்குகளை உடைத்தல்: சிக்கலான கற்றல் இலக்குகளை சிறிய, நிர்வகிக்கக்கூடிய இலக்குகளாக உடைக்கவும்.
- இலவச ஆதாரங்களைக் கண்டறிதல்: இந்த கட்டுரையில் பரிந்துரைக்கப்பட்ட இலவச புத்தகங்கள், படிப்புகள் மற்றும் கருவிகளைப் பயன்படுத்தவும்.
- கற்றல் சமூகத்தில் சேரவும்: ஆழமான கற்றல் சமூகத்தில் சேர்ந்து, மற்ற கற்பவர்களுடன் அனுபவங்களைப் பரிமாறிக்கொள்ளுங்கள் மற்றும் உதவியை நாடுங்கள்.
DeepLearningAI X/Twitter இல் கூறியது போல்: “Every AI expert once Googled simple questions. Every beginner felt lost. If you’re learning and trying, you belong in the AI community.” ஒவ்வொரு AI நிபுணரும் ஒரு காலத்தில் புதியவராக இருந்தார்கள், மேலும் குழப்பமாக உணர்ந்தார்கள் என்பதை நினைவில் கொள்ளுங்கள். நீங்கள் தொடர்ந்து கற்றுக்கொண்டு பயிற்சி செய்தால், நீங்கள் நிச்சயமாக சிரமங்களைச் சமாளித்து ஒரு தகுதிவாய்ந்த ஆழமான கற்றல் பொறியியலாளராக முடியும்.சுருக்கமாகச் சொன்னால், இந்தக் கட்டுரை புத்தகங்கள், படிப்புகள் மற்றும் நடைமுறை கருவிகள் உட்பட ஏராளமான இலவச ஆழமான கற்றல் சுய-படிப்பு ஆதாரங்களை வழங்குகிறது. இந்த ஆதாரங்கள் ஆழமான கற்றலில் சிறப்பாகத் தொடங்கவும் ஆழமாகப் படிக்கவும், செயற்கை நுண்ணறிவுத் துறையில் வெற்றி பெறவும் உதவும் என்று நம்புகிறோம். கற்றல் என்பது ஒரு தொடர்ச்சியான செயல் என்பதை நினைவில் கொள்ளுங்கள், அதற்கு நிலையான முயற்சி மற்றும் பயிற்சி தேவை. உங்கள் படிப்பு சிறப்பாக அமைய வாழ்த்துகிறேன்!





