Forwarded from رضا شکرزاد - علمداده و هوش مصنوعی
به خاطر ساختار نتورک و سرعت بالاتر در فازهای train و test، از بین نتورکهای عمیق برنده ILSVRC نتورک EfficientNet یکی از محبوب ترینهاست.
در این ویدیو روی مقاله EfficientNet صحبت میشه و از روی داکیومنت کراس، از مدل pre-trainedاش برای کلاسبندی دیتاست Food101 استفاده میکنیم.
#YouTube
#Deep_Learning
@DSLanders | دیاسلندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
دیپ لرنینگ | EfficientNet یادگیری انتقالی و پیاده سازی با Keras
به خاطر ساختار نتورک و سرعت بالاتر در فازهای train و test از بین نتورکهای عمیق برنده ILSVRC نتورک EfficientNet یکی از محبوبهاست. تو این ویدیو روی مقاله efficientNet صحبت میشه و از روی داکیومنت کراس از مدل pre-trained اش هم برای کلاسبندی دیتاست Food101 استفاده…
❤4👍3👨💻1
کراس یک کتابخانه متنباز، روی کتابخانههای Theano و TensorFlow هست و به عنوان یک واسط عمل میکنه در نتیجه بدون نیاز به یادگیری پیچیدگیهای Theano یا TensorFlow، میشه مدلهای یادگیری عمیق کارآمد ساخت.
در این قسمت، برای مثال ساخت مدل شبکه عصبی در کراس، از تابع متمرکز و سه لایهٔ کاملاً متصل استفاده شده:
from keras.layers import Input, Dense
from keras.models import Model
# تعریف لایهٔ ورودی
input_layer = Input(shape=(input_dim,))
# تعریف لایهٔ مخفی اول
hidden_layer_1 = Dense(units=64, activation='relu')(input_layer)
# تعریف لایهٔ مخفی دوم
hidden_layer_2 = Dense(units=32, activation='relu')(hidden_layer_1)
# تعریف لایهٔ خروجی
output_layer = Dense(units=output_dim, activation='softmax')(hidden_layer_2)
# تعریف مدل با استفاده از تابع متمرکز
model = Model(inputs=input_layer, outputs=output_layer)
# نمایش ساختار مدل
model.summary()
در این کد، اول لایهٔ ورودی با استفاده از تابع Input تعریف شده. بعد دو لایهٔ مخفی با استفاده از تابع Dense هر کدوم با تعداد واحدها و تابع فعالساز مشخص تعریف شدن. در نهایت، لایهٔ خروجی تعریف شده و مدل با استفاده از توابع متمرکز ساخته شده.
در این قسمت، مثالی از ساختار مدل با استفاده از ساختار توالی رو مشاهده میکنین:
from keras.models import Sequential
from keras.layers import Dense
# تعریف یک مدل توالی
model = Sequential()
# اضافه کردن لایهٔ ورودی و لایهٔ مخفی اول
model.add(Dense(units=64, activation='relu', input_dim=input_dim))
# اضافه کردن لایهٔ مخفی دوم
model.add(Dense(units=32, activation='relu'))
# اضافه کردن لایهٔ خروجی
model.add(Dense(units=output_dim, activation='softmax'))
# نمایش ساختار مدل
model.summary()
در این مثال، یک شیوهٔ سادهتر برای ساخت مدل از طریق ساختار توالی را مشاهده میکنید. لایهها به ترتیب به مدل اضافه شده و با استفاده از تابع add امکان اضافه کردن لایهها فراهم میشه.
بعد از تعریف ساختار مدل، مراحل دیگهای برای آمادهسازی مدل برای آموزش و ارزیابی وجود داره. این مراحل شامل compile کردن مدل، آموزش مدل و ارزیابی عملکرده.
بعد از تعریف ساختار مدل، نیازه که مدل compile شه. در این مرحله، مشخص میشه که مدل چطور باید آموزش داده شه. برای این کار در تابع compile تابع هزینه (loss function)، الگوریتم بهینهسازی (optimizer) و معیارهای ارزیابی (metrics) اضافه میشن.
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
در این مثال، از الگوریتم بهینهسازی Adam و تابع هزینهٔ cross-entropy دستهای استفاده شده. همچنین، معیار دقت (accuracy) برای ارزیابی عملکرد مدل در هر دوره از آموزش مشخص شده.
model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_val, y_val))
در این مثال، مدل در ده epoch روی دادههای آموزشی آموزش داده میشه. دادهها به دستههایی به اندازهٔ 32 نمونه تقسیم شده و بعد از پایان هر دوره، عملکرد مدل روی دادههای اعتبارسنجی با استفاده از دادههای اعتبارسنجی ارزیابی میشه.
بعد از آموزش مدل، عملکردش روی دادههای Test یا دادههای اعتبارسنجی ارزیابی میشه. برای این کار از تابع evaluate استفاده میشه.
loss, accuracy = model.evaluate(X_test, y_test)
#Deep_Learning
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👌3👍1👨💻1
❓کوییز شماره ۱۱۳: کاربرد اصلی keras.applications چیه؟
Anonymous Quiz
38%
برای ایجاد لایههای سفارشی در شبکههای عصبی
44%
برای آموزش مدلهای عمیق از پیش آموزش دادهشده روی دادههای جدید
6%
برای انجام پردازشهای تصویری ساده
13%
برای تولید دادههای تصویری مصنوعی
👍5❤2👌1👨💻1
کارکرد keras.preprocessing.text.Tokenizer این امکان رو میده که متن رو به دنبالهها یا بردارهای رمزگذاری شده one-hot تبدیل کنید.
from keras.preprocessing.text import Tokenizer
tokenizer = Tokenizer(num_words=1000)
tokenizer.fit_on_texts(texts)
sequences = tokenizer.texts_to_sequences(texts)
در این مثال، یک tokenizer با حداکثر 1000 کلمه منحصر به فرد ایجاد و روی مجموعه دادهای از متنها آموزش داده میشه. درنهایت متنها رو به دنبالهای از اعداد صحیح تبدیل میکنه.
#Deep_Learning
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🤔1
کتابخانه PyTorch یک کتابخانه متن باز برای پیادهسازی الگوریتمهای یادگیری عمیق در پایتونه. این کتابخانه توسط تیم تحقیقاتی شرکت فیسبوک توسعه پیدا کرد. PyTorch امکاناتی برای ساخت، آموزش و ارزیابی شبکههای عصبی فراهم میکنه.
یکی از مفاهیم مهم در PyTorch، تنسورها (Tensors) هستن. تنسورها مثل آرایههای چند بعدی در NumPy عمل میکنن، با این تفاوت که میتونن روی دستگاههای GPU هم قرار بگیرن. برای تعریف یک تنسور در PyTorch، میشه از دستورات زیر استفاده کرد:
import torch
# تعریف یک تنسور با مقدار ثابت
x = torch.tensor([5.0, 3.0])
print(x)
# تعریف یک تنسور خالی
y = torch.empty(3, 2)
print(y)
نحوه ساخت یک مدل شبکه عصبی ساده با استفاده از PyTorch:
import torch
import torch.nn as nn
import torch.optim as optim
# تعریف مدل شبکه عصبی
class SimpleNN(nn.Module):
def __init__(self):
super(SimpleNN, self).__init__()
self.fc = nn.Linear(3, 1) # 3 ورودی و 1 خروجی
def forward(self, x):
return self.fc(x)
# ایجاد نمونه از مدل
model = SimpleNN()
# تعریف تابع هزینه و بهینهساز
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# دادههای ورودی و خروجی مثال
inputs = torch.tensor([[1.0, 2.0, 3.0]])
targets = torch.tensor([[4.0]])
# آموزش مدل
for epoch in range(100):
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, targets)
loss.backward()
optimizer.step()
if (epoch+1) % 10 == 0:
print(f'Epoch [{epoch+1}/100], Loss: {loss.item()}')
تورچ ویژن (TorchVision) یک بخش از کتابخانه PyTorch هست که ابزارهای مختلفی رو برای کار با دادههای تصویری و پردازش تصویر ارائه میکنه.
این کتابخانه شامل مجموعهای از توابع و کلاسها برای دانلود، پیشپردازش و تبدیل دادههای تصویریه و برای ساخت و آموزش مدلهای یادگیری عمیق روی دادههای تصویری کاربرد داره.
تورچ ویژن ابزارهایی برای وارد کردن دیتاستهای معروف تصویری مثل CIFAR-10، MNIST و ImageNet رو فراهم میکنه.
تورچ ویژن شامل مجموعهای از ابزارها برای انجام پیشپردازش تصاویر، از جمله تبدیلهایی مثل تغییر اندازه تصاویر، برش، چرخش، نرمالسازی و تبدیل تصویر به تنسورهای PyTorch هست.
به طور معمول، دادههای تصویری باید برای ورود به مدلهای یادگیری عمیق مناسب شن. TorchVision ابزارهایی برای تبدیل دادههای تصویری رو ارائه میده که میتونن به طور معکوس همون عملیات رو روی پیشبینیهای مدل انجام بدن.
علاوه بر ابزارهای وارد کردن و پیشپردازش داده، TorchVision همچنین ابزارهایی رو فراهم میکنه که به توسعهدهندگان امکان میدن مدل رو بهبود بدن و دقت و عملکرد رو بالا ببرن.
#Deep_Learning
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3👨💻1
❓کوییز شماره ۱۱۴: کدوم تابع در PyTorch.vision برای اعمال تبدیلات هندسی روی تصاویر استفاده میشه؟
Anonymous Quiz
16%
torch.transforms
40%
torchvision.transforms
36%
image.transforms
8%
vision.transforms
👍6❤3🤔1👨💻1
در PyTorch، تابع ()zero_grad برای صفر کردن گرادیانهای همه پارامترهای مدل به کار میره. این کار عموماً قبل از اجرای مرحلههای انتقال رو به جلو و عقب در حلقههای آموزش بهکار میره تا اطمینان حاصل شه که گرادیانهایی که ممکنه قبلاً وجود داشته باشن، جمعنشن.
import torch
import torch.optim as optim
# تعریف یک مدل ساده و یک بهینهساز
model = torch.nn.Linear(1, 1)
optimizer = optim.SGD(model.parameters(), lr=0.01)
# مقداردهی اولیه دادههای ورودی و هدف
inputs = torch.randn(1, 1, requires_grad=True)
target = torch.randn(1, 1)
# شروع حلقه آموزش
for _ in range(5):
# انجام مرحله رو به جلو
output = model(inputs)
loss = torch.nn.functional.mse_loss(output, target)
# انجام مرحله رو به عقب و بهروزرسانی پارامترهای مدل
optimizer.zero_grad() # صفر کردن گرادیانها
loss.backward() # محاسبه گرادیانها
optimizer.step() # بهروزرسانی وزنها
#Deep_Learning
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2👌1👨💻1
#Weekend
#Deep_Learning
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1👏1
#Deep_Learning
#AutoEncoders
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥1👨💻1
Forwarded from رضا شکرزاد - علمداده و هوش مصنوعی
شروع سال جدید شاید بهترین زمان برای برنامهریزی و تعیین اهداف جدید باشه. در این وبینار بررسی میکنیم که چطور میشه در حوزه دیتا ساینس برنامهریزی کرد، پیش رفت و مهارتها رو توسعه داد.
@DSLanders | دیاسلندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3👍2👨💻2
خودرمزگذارها کلاس خاصی از الگوریتمها هستن که میتونن بدون نیاز به برچسب، بازنماییهای کارآمدی از دادههای ورودی رو یاد بگیرن و زیر مجموعهای از شبکههای عصبی مصنوعی هستن که برای یادگیری بدون نظارت طراحی شدن.
یادگیری فشرده سازی و نمایش موثر دادههای ورودی بدون برچسب خاص، اصل اساسی یک رمزگشای خودکاره. این کار با استفاده از یک ساختار دو بخشی که از یک رمزگذار و یک رمزگشا تشکیل شده، انجام میشه. رمزگذار دادههای ورودی رو به یک نمایش با ابعاد کم شده، تبدیل میکنه که معمولا به عنوان «فضای نهفته» یا «کدگذار» شناخته میشه.
از این نمایش، یک رمزگشا ورودی اولیه رو بازسازی میکنه. برای اینکه شبکه الگوهای معناداری در دادهها به دست بیاره، فرآیند کدگذاری و کدگشایی به تعریف ویژگیهای ضروری کمک میکنن.
معماری کلی یک خودرمزگذار شامل یک رمزگذار، یک رمزگشا و یک فضای پنهان هست.
رمزگذار وظیفه تبدیل دادههای ورودی به یک فرمت یا بردار با بعد کمتر و قابل استفاده است. این فرآیند به کاهش ابعاد دادهها کمک میکنه و ویژگیهای مهم رو برجسته میکنه. این مرحله میتونه شبکههای عمیق مختلفی مثل CNN یا RNN استفاده کنه.
رمزگشا وظیفه بازسازی دادهها از فضای پنهان به فضای اصلی رو داره. این فرآیند برای بازیابی دقیق اطلاعات از فضای پنهان و تبدیلشون به یک فرمت قابل فهم مفیده. این مرحله هم همچنین میتونه شبکههای عمیق مختلفی مثل CNN یا RNN استفاده کنه.
فضای پنهان مجموعهای از نقاطه که توصیفکننده ویژگیهای مختلفی از دادههای ورودی هستن. این فضا به طور خلاصه ویژگیهای مهمی از دادهها رو نشون میده که در ابعاد بالا ممکنه مشخص نباشه. با استفاده از این فضا، اطلاعات رو کاهش میده و ویژگیهای معنادارشون رو استخراج میکنه.
#Deep_Learning
#AutoEncoders
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👌3👨💻1
❓کوییز شماره ۱۱۵: چرا اتوانکودرهای Denoising (پاکسازی نویز) به طور معمول برای پیشپردازش دادهها در کاربردهای واقعی مفیدن؟
Anonymous Quiz
11%
توانایی شناسایی اتوماتیک برچسبهای دادهها رو دارن
37%
میتونن نویز موجود در دادههای ورودی رو به طور خودکار حذف کنن
37%
با افزودن نویز تصادفی به دادهها و آموزش شبکه برای حذفش، قابلیت شناسایی ویژگیهای مهم رو بهبود میدن
16%
توانایی تولید دادههای جدید مشابه با دادههای ورودی رو دارن
🤔5😎3👨💻1
در سادهترین شکل، یک اتوانکودر شامل دو بخشه: کدگذار و کدگشا. هدف در این نوع، یادگیری ویژگیهای مهم و حذف نویزه.
این نوع از اتوانکودرها با داشتن لایههای مخفی کمتر از لایههای ورودی و خروجی، مجبورن تا ویژگیهای کلیدی دادهها رو یاد بگیرن. این محدودیت در تعداد نورونها به مدل کمک میکنه تا تنها اطلاعات ضروری رو برای بازسازی دادههای ورودی نگه داره.
این مدل از فعال شدن تعداد زیادی از نورونها جلوگیری میکنه، به این صورت که تنها تعداد محدودی از نورونها میتونن در هر زمان فعال باشن. این ویژگی به اتوانکودر کمک میکنه تا ویژگیهای مهمتر دادهها رو برجسته کنه.
خودرمزنگارهای متغییر از اتوانکودرهایی هستن که نمایشهای داده رو به صورت توزیع احتمالاتی مدلسازی میکنن. در این مدل، کدگذار به جای تولید یک کد ثابت برای هر نمونه ورودی، پارامترهای یک توزیع احتمالاتی رو تولید میکنه که میتونه برای بازسازی دادههای ورودی استفاده شه. در نتیجه VAE توانایی تولید دادههای جدید که به دادههای آموزشی شباهت دارن رو پیدا میکنه.
اتوانکودرهای پاکسازی برای بهبود کیفیت دادههای ورودی که دچار نویز شدن، طراحی شده. در این نوع اول به دادههای ورودی نویز نویز اضافه میشه و بعد به مدل داده میشن و مدل با حذف نویز، سعی میکنه دادههای ورودی اصلی رو بازسازی کنه.
اتوانکودرهای کانولوشنال مخصوصا برای دادههایی با توپولوژی شبکهای مثل تصاویر طراحی شدن. این مدلها از لایههای کانولوشن به جای لایههای کاملاً متصل استفاده میکنن تا ویژگیهای محلی دادهها رو بهتر یاد بگیرن و در نتیجه بازسازی دقیقتری از دادههای ورودی ارائه بدن.
#Deep_Learning
#AutoEncoders
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👌2👨💻1
رمزگذار بخشی از شبکهست که وظیفهی فشردهسازی دادههای ورودی رو به عهده داره. این بخش از شبکه تلاش میکنه تا ویژگیهای مهم و بنیادین دادهها رو درک کنه و اونها رو به یک بردار کوچکتر معروف به "کد" تبدیل کنه. کدگذارها به ما اجازه میدن که با دادههای کمتر، بیشتر ببینیم و درک کنیم.
رمزگذار معمولاً شامل چند لایهست که میتونه شامل لایههای کاملاً متصل (fully connected layers)، لایههای کانولوشنی (convolutional layers) یا حتی لایههای تکراری (recurrent layers) باشه.
هر لایه از نورونهایی تشکیل شده که وزنها و بایاسهای خاص خودشون رو دارن. این نورونها با گذروندن دادهها از توابع فعالساز خاص، به تدریج ویژگیهای مورد نیاز رو استخراج و کد میکنن.
در مدلهای پیشرفتهتر، رمزگذارها ممکنه از تکنیکهایی مثل رگولاریزاسیون (Regularization) برای جلوگیری از بیشبرازش استفاده کنن. علاوه بر این، میشه از خودرمزنگار متغیر (Variational Autoencoders) که مدلهای احتمالی هستن هم استفاده کرد تا یک توزیع احتمالی از دادهها رو در فضای کد مدلسازی کنن.
رمزگذارها کاربردهای زیادی از جمله کاهش بعد، حذف نویز از دادهها (denoising)، آموزش بدون نظارت و حتی تولید دادههای جدید دارن. این ابزارها به دلیل تواناییشون در درک و فشردهسازی دادهها، در از زمینههای پزشکی، تشخیص چهره و مالی استفاده دارن.
#Deep_Learning
#AutoEncoders
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌5👍3❤2👨💻1
❓کوییز شماره ۱۱۶: در چه شرایطی استفاده از کدگذارهای خودرمزنگار با لایههای تکراری (RNN) توصیه میشه؟
Anonymous Quiz
20%
در شرایطی که دادهها تصادفی و بدون ترتیب زمانی هستن.
60%
وقتی دادههای ورودی دارای ترتیب زمانی وابسته مثل سریهای زمانی یا دنبالههای متنی هستن.
10%
برای دادههایی که نیاز به تحلیل تصویر دقیق دارن.
10%
زمانی که تنها یک لایه از دادهها بدون هیچ وابستگی زمانی یا فضایی استفاده میشه.
❤3🤔2😎2👍1
در این کد، یک کدگذار ساده در شبکههای خودرمزنگار با استفاده از کتابخانهی Keras و با هدف کاهش بعد دادههای تصویری پیادهسازی شده.
import numpy as np
from tensorflow.keras.layers import Input, Dense
from tensorflow.keras.models import Model
def build_autoencoder(input_dim, encoding_dim):
# تعریف ورودی
input_img = Input(shape=(input_dim,))
# لایهی کدگذار
encoded = Dense(encoding_dim, activation='relu')(input_img)
# لایهی کدگشا
decoded = Dense(input_dim, activation='sigmoid')(encoded)
# مدل خودرمزنگار کامل
autoencoder = Model(input_img, decoded)
# مدل کدگذار
encoder = Model(input_img, encoded)
# مدل کدگشا
# برای ساخت کدگشا به یک ورودی برای لایههای کدگشا نیاز داریم
encoded_input = Input(shape=(encoding_dim,))
decoder_layer = autoencoder.layers[-1]
decoder = Model(encoded_input, decoder_layer(encoded_input))
autoencoder.compile(optimizer='adam', loss='binary_crossentropy')
return autoencoder, encoder, decoder
# پارامترهای مدل
input_dim = 784 # مثلا برای تصاویر MNIST با ابعاد 28x28
encoding_dim = 32 # ابعاد فضای ویژگی که میخواهیم دادهها را به آن تبدیل کنیم
autoencoder, encoder, decoder = build_autoencoder(input_dim, encoding_dim)
autoencoder.summary()
encoder.summary()
decoder.summary()
#Deep_Learning
#AutoEncoders
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👌3❤1👨💻1
فضای پنهان در مفهوم خودرمزنگار، به بخشی از شبکه اشاره داره که دادههای ورودی رو به نمایشی فشردهتر تبدیل میکنه. این فضا معمولاً بین رمزگذار و رمزگشا قرار میگیره و محتوای اطلاعاتی مفید و مرتبط برای بازسازی دادهها رو در خودش جا میده. فضای پنهان نقش مهمی در یادگیری ویژگیهای معنادار دادهها داره و به عنوان یک نقطه فشرده سازی دادهها عمل میکنه.
این فضا میتونه کاربردهای مختلفی مثل کاهش بعد دادهها، دستهبندی، تشخیص ناهنجاری و یادگیری بدون نظارت داشته باشه و به عنوان یک نقطه مهم برای فهم و تحلیل دادهها عمل میکنه. همچنین اجازه میده تا الگوهای پیچیده و ساختارهای زیربنایی در دادهها شناسایی شن.
#Deep_Learning
#AutoEncoders
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌5👍3👨💻2
❓کوییز شماره ۱۱۷: کدوم یک از گزینههای زیر بهترین توضیح رو برای اهمیت تفسیرپذیری فضای پنهان در خودرمزنگارها ارائه میده؟
Anonymous Quiz
35%
تفسیرپذیری بالا به ما اجازه میده تا مدلهایی با دقت بیشتری طراحی کنیم.
10%
تفسیرپذیری فضای پنهان امکان مدلسازی توزیعهای پیچیدهتر دادهها رو فراهم میکنه.
45%
تفسیرپذیری این فضا اجازه میده ویژگیهای معنادار و مهم دادهها به طور مؤثرتری شناسایی و استخراج شن.
10%
تفسیرپذیری به بهبود سرعت آموزش شبکه کمک میکنه.
❤5😎3👍1🤔1
در نهایت، تعادل بین ظرفیت Latent Space و توانایی شبکه برای بازسازی دادهها، به دقت فرایند یادگیری و هدف نهایی مدل بستگی داره. انتخاب درست اندازه و ظرفیت این فضا به بهینهسازی عملکرد خودرمزنگار در کاربردهای مختلف کمک میکنه.
#Deep_Learning
#AutoEncoders
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2👌1
رمزگشا بخشی از اتوانکودره که وظیفهی بازسازی دادههای ورودی رو از نمایش فشردهای که توسط رمزگذار ایجاد شده، به عهده داره. به طور ساده، اگه انکودر وظیفه فشردهسازی دادهها رو داره، دیکودر وظیفهی بازگرداندن اونها به حالت اصلی (یا نزدیک بهش) رو داره.
معماری دیکودر میتونه به شکلهای مختلفی باشه اما اغلب شامل لایههایی هست که عملکردی معکوس نسبت به لایههای انکودر دارن. این لایهها ممکنه شامل کانولوشن، لایههای کاملاً متصل و یا حتی لایههای نرمالسازی باشن.
عملکرد Decoder مستقیماً تحت تاثیر کیفیت نمایش ارائه شده توسط Encoder قرار داره. اگه نمایش فشرده دارای اطلاعات کافی و مرتبط با ویژگیهای دادههای ورودی باشه، رمزگشا میتونه بازسازی دقیقتری انجام بده. در نتیجه کیفیت آموزش Encoder روی عملکرد Decoder تاثیر مستقیم داره.
#Deep_Learning
#AutoEncoders
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4👌3👨💻1