நாமே நம்முடைய சொந்த செய்யறிவை(AI) உருவாக்குதல் -பயிற்சித் தொடர்-பகுதி 6: – நரம்பியல் வலைபின்னல்களும் ஆழ்கற்றலும்

ஆழ்கற்றல்ஆனது செய்யறிவில்(AI) புரட்சியை ஏற்படுத்தியுள்ளது, உருவப்படத்தை அடையாளம் காணுதல், பேச்சுத் தொகுப்பு , இயற்கையான மொழியைப் புரிந்துகொள்ளுதல் போன்ற சிக்கலான பணிகளில் கணினிஇயந்திரங்கள் சிறந்து விளங்க உதவுகின்றன. அதன் மையத்தில் நியூரான் வலைபின்னல் உள்ளது, இது மனித மூளையின் கட்டமைப்பு, செயல்பாடு ஆகியவற்றால் ஈர்க்கப்பட்ட ஒரு கணக்கீட்டு மாதிரியாகும். இந்தக் கட்டுரையில், நரம்பியல் வலைபின்னல்களையும் , அவற்றின் கூறுகளையும் ஆராய்வோம், அவற்றைச் செயல்படுத்த TensorFlow ,Keras போன்ற சக்திவாய்ந்த கட்டமைப்பை அறிமுகப்படுத்துவோம்.
1. நரம்பியல் வலைபின்னல்கள் என்றால் என்ன?
நரம்பியல் வலைபின்னல்கள் என்பது, ஒன்றோடொன்று இணைக்கப்பட்ட neuronsகளின் அடுக்குகளின் மூலம் மனித மூளையின் செயல்பாட்டைப் பிரதிபலிக்கின்ற வகையில் வடிவமைக்கப்பட்ட இயந்திர கற்றல் மாதிரிகளின் துணைக்குழு ஆகும்.
முக்கிய கூறுகள்:
உள்ளீட்டு அடுக்கு: மூலத் தரவை எடுத்துக்கொள்கிறது.
மறைக்கப்பட்ட அடுக்குகள்: எடைகள், சார்புகள் , செயல்படுத்துகின்ற செயல்பாடுகளைப் பயன்படுத்தி தரவை செயலாக்கிடுகின்றது.
வெளியீட்டு அடுக்கு: இறுதி கணிப்பு அல்லது வகைப்படுத்தலை உருவாக்குகிறது.
எடுத்துக்காட்டு பணிப்பாய்வு: உள்ளீட்டு தரவு (எ.கா., பூனையின் படம்).
மறைக்கப்பட்ட அடுக்குகளானவை இயல்புகளைப் பிரித்தெடுக்கின்றன (எ.கா., விளிம்புகள், வடிவங்கள்).
வெளியீட்டு அடுக்குஆனது முடிவை தீர்மானிக்கிறது (எ.கா., “பூனை”).
2. நரம்பியல் வலைபின்னல்கள் எவ்வாறு செயல்படுகின்றன
அ. ஒரு நரம்பியல் வலைபின்னல்லின் அமைப்பு
நியூரான்: ஒரு அடிப்படைச் செயலாக்க அலகுஆனது எடைகளைப் பயன்படுத்துகிறது, உள்ளீடுகளைச் சேர்க்கிறது, சார்புகளைச் சேர்க்கிறது , ஒரு செயல்படுத்தும் செயல்பாட்டின் மூலம் முடிவை அனுப்புகிறது.
அடுக்குகள்:
அடர்த்தியான அடுக்கு: இவை முழுமையாக இணைக்கப்பட்ட நியூரான்கள், பெரும்பாலான வலைபின்னல்களில் பொதுவானவையாகும்.
Convolutional (CNN)அடுக்கு: படங்களுக்கு.
தொடர் (RNN)அடுக்கு: உரை அல்லது நேரத் தொடர் போன்ற தொடர்களுக்கு.
ஆ. முன்னோக்கி பரப்புதல்
வலைபின்னல் அடுக்கின் மூலம் தரவு நகர்கிறது.
ஒவ்வொரு அடுக்கு எடைகளையும் , செயல்படுத்துகின்ற செயலிகளையும் பயன்படுத்தி தரவை மாற்றுகிறது.
இ. மீண்டும் பரப்புதல்
gradient descent எனப்படும் தருகத்தைப் பயன்படுத்தி எடைகளை சரிசெய்வதன் மூலம் வலைபின்னலை கற்றுக்கொள்கிறது.
இழப்பு செயல்பாடுஆனது கணிப்பு பிழைகளை அளவிடுகிறது, மேலும் gradient ஆனது இந்த பிழைகளை குறைக்கிறது.
3. நரம்பியல் வலைபின்னல்களின் முக்கிய கருத்தமைவுகள்
அ. செயல்படுத்தும் செயலிகள்
நியூரான் வெளியீடுகளுக்கு நேரியல் அல்லாத மாற்றங்கள் பயன்படுத்த ப் படுகின்றன.
பொதுவான வகைகள்:
Sigmoid: இதுநிகழ்தகவுகளுக்கானது.
சரிசெய்யப்பட்ட நேரியல் அலகு(ReLU):இது கிரேடியன்ட் மறைந்து போவதைத் தடுக்கிறது.
Softmax: இது பல இன வகைப்பாட்டிற்கானது.
ஆ. கற்றல் விகிதம்
பயிற்சியின் போது வலைபின்னல் எவ்வளவு விரைவாக எடையை புதுப்பிக்கிறது என்பதை தீர்மானிக்கிறது.
இ. அதிகப்படியான பொருத்தம்
மாதிரி பயிற்சி தரவில் சிறப்பாக செயல்படும் போது, ​​ஆனால் புதிய தரவுகளில் மோசமாக செயல்படும் போது நிகழ்கிறது.
தீர்வுகள்:
dropout அடுக்குகளைப் பயன்படுத்திகொள்க.
ஒழுங்குபடுத்தும் நுட்பங்கள்.
4.ஆழ்கற்றல் கட்டமைப்பை அமைத்தல்
அ. TensorFlow
இது இயந்திர கற்றல் மாதிரிகளை உருவாக்கவும் பயிற்சி செய்வதற்குமான திறமூல நூலகமாகும்.
ஆ. Keras
இது எளிதான மாதிரி உருவாக்கத்திற்காக TensorFlowஇல் கட்டமைக்கப்பட்ட உயர்-நிலை API ஆகும்.
5. எடுத்துக்காட்டு குறிமுறைவரிகள்: Kerasஇல் ஒரு நரம்பியல் வலையமைப்பை உருவாக்குதல்
படிமுறை 1: சார்புகளை நிறுவுகைசெய்தல்
pip install tensorflow
படிமுறை 2: நூலகங்களை பதிவிறக்கம் செய்தல்
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
படிமுறை 3: தரவைத் தயார்செய்தல்
from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

Generate synthetic dataset

X, y = make_moons(n_samples=1000, noise=0.2, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Scale data

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
படிமுறை 4: மாதிரியை உருவாக்கிடுதல்
model = Sequential([
Dense(16, activation=’relu’, input_shape=(X_train.shape[1],)),
Dense(8, activation=’relu’),
Dense(1, activation=’sigmoid’) # Output for binary classification
])
படிமுறை 5: தொகுத்தலும் பயிற்சி செய்தலும்
model.compile(optimizer=’adam’, loss=’binary_crossentropy’, metrics=[‘accuracy’])

Train model

history = model.fit(X_train, y_train, epochs=50, validation_data=(X_test, y_test))
படிமுறை 6: மதிப்பீடு
loss, accuracy = model.evaluate(X_test, y_test)
print(f”Test Accuracy: {accuracy:.2f}”)
6. நடப்பு உலக பயன்பாடுகள்
அ. உருவப்பட வகைப்பாடு
Task: படங்களில் உள்ள பொருட்களை அடையாளம் காணுதல்.
எடுத்துக்காட்டு: பூனைகள் , நாய்கள்.
ஆ. உணர்வு பகுப்பாய்வு
Task: உரையானது நேர்மறை அல்லது எதிர்மறை என வகைப்படுத்திடுக.
எடுத்துக்காட்டு: தயாரிப்பு மதிப்புரைகளை பகுப்பாய்வு செய்திடுக.
இ. மோசடி கண்டறிதல்
Task: பரிமாற்றங்களில் அசாதாரண வடிவங்களை அடையாளம் காணுதல்.
7. ஆழ்கற்றலில் உள்ள சவால்கள்
தரவு தேவைகள்: நரம்பியல் வலைபின்னல்களுக்கு பெரிய தரவுத்தொகுப்புகள் தேவையாகும்.
கணக்கீட்டு சக்தி: உயர்-செயல்திறன் GPU கள் பெரும்பாலும் அவசியமாகும்.
உயர் அளவுருக்களை சரிப்படுத்துதல்: அடுக்குகள், நியூரான்கள் , கற்றல் விகிதங்களை சரிசெய்வது அதிகநேரத்தை எடுத்துக்கொள்ளும்.
தொடரும்- – –