<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات هوش مصنوعی در پزشکی</title>
        <link>https://virgool.io/AIforMedical/feed</link>
        <description>من در اینجا قصد دارم مطالبی که از دوره‌ی &quot;AI for Medicine&quot; از شرکت deeplearning.ai یادگرفتم رو به فارسی منتشر کنم.</description>
        <language>fa</language>
        <pubDate>2026-06-20 11:57:16</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/fst35xrb598n/meadgo.png</url>
            <title>هوش مصنوعی در پزشکی</title>
            <link>https://virgool.io/AIforMedical</link>
        </image>

                    <item>
                <title>هوش مصنوعی برای تشخیص بیماری (بخش پنجم)</title>
                <link>https://virgool.io/AIforMedical/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%A8%DB%8C%D9%85%D8%A7%D8%B1%DB%8C-%D8%A8%D8%AE%D8%B4-%D9%BE%D9%86%D8%AC%D9%85-pll8be0clons</link>
                <description>سه چالش عمده در دسته‌بندی کردن تصاویر پزشکی سه عنوان مطرح شده از چالش‌های عمده در کار با داده‌های پزشکی است که برای هر کدام تکنیک‌هایی برای برطرف کردن این چالش‌ها مطرح می‌کنیمچالش class imbalanceچالش class imbalance از آنجا پدید می‌آید که تعداد بیماران از تعداد افراد سالم به مراتب کمتر است و به همین خاطر تعداد تصاویری که از بیماران وجود دارد نسبت به کل تصاویر موجود بسیار کم استاین مساله باعث می‌شه که الگوریتم در هنگام آموزش تعداد تصویری که از بیماران می‌بینه کم باشه و به همین دلیل پیش‌بینی‌ای که برای وجود بیماری انجام می‌دهد خیلی کم باشهبرای درک بهتر این مشکل به سراغ تابع loss می‌رویم به مثال زیر توجه کنیددر اینجا یک تصویر از یک بیمار داریم که الگوریتم ما پیش‌بینی کرده به احتمال ۰.۲ یا به عبارت دیگه ۲۰ درصد بیماری در تصویر وجود دارد که اگر میزان خطای الگوریتم را با توجه به این نمونه‌ی خاص محاسبه کنیم می‌شه چیزی در حدود ۷۰ درصد خطا!!!!!حالا تابع محاسبه‌ی خطا را برای یک فرد سالم اجرا می‌کنیم این تصویر یک فرد سالم است که خروجی الگوریتم ما می‌گوید ۷۰ درصد احتمال وجود بیماری در تصویر هست. برای محاسبه‌ی خطای الگوریتم با توجه به اینکه این تصویر یک فرد سالم است به سراغ عبارت دوم میرویم و خطای الگوریتم را با توجه به عبارات موجود محاسبه می‌کنیم.نتیجه‌ای که از دو مثال بالا به دست می‌آید این است که الگوریتم در تشخیص موارد بیمار خطای بسیار زیادی دارد.خوب ما استفاده از تابع محاسبه‌ی خطا را برای دو مثال دیدیم حال بهتر است آن را برای مجموعه‌ای از داده‌ها مورد بررسی قرار دهیم.هنگامی که برای بار اول الگوریتم را اجرا می‌کنیم و هنوز شروع به انجام عملیات آموزش نکرده‌ایم مقدار پیش‌بینی و خطای الگوریتم به صورت زیر است خوب که در این صورت اگه میزان خطای کل برای هر دسته را محاسبه کنیم داریم با توجه به میزان خطا برای هر دسته متوجه می‌شویم که خطا در دسته‌ی نرمال بسیار بیشتر است پس الگوریتم در حین آموزش سعی می‌کند که خطای آن دسته را کاهش دهد که باعث می‌شود خطای موجود در دسته‌ی بیمار نادیده گرفته بشود و در پایان ما به مدلی دست پیدا کردیم که در تشخصی افراد بیمار خطای بسیار زیادی دارد به دلیل اینکه تعداد موارد بیمار کم است.تکنیک اول برای حل مشکلبرای حل این مشکل می‌توان تابع محاسبه‌ی خطا را تغییر کوچکی داد که داشته باشیمدر اینجا ما به کدام از دسته‌ها وزن می‌دهیم که این وزن در محاسبه‌ی میزان خطا و در و روند آموزش مدل تغییر ایجاد می‌کند که داریمبا وزن‌دهی‌ای که به هر دسته انجام شد میزان خطای الگوریتم به ازای هر کدام از نمونه‌ها تغییر کرد و برای محاسبه‌ی خطای هر دسته داریممی‌بینیم که میزان خطای هر دو دسته باهم برابر است.به صورت کلی وزن هر دسته از فرمول زیر قابل محاسبه استدر فرمول‌های فوق negative متعلق به افراد سالم و positive متعلق به افراد بیمار است.در بخش بعدی یک تکنیک دیگه برای رفع مشکل class imbalance مطرح خواهیم کرد.</description>
                <category>هوش مصنوعی در پزشکی</category>
                <author>محسن جلالی</author>
                <pubDate>Sat, 19 Sep 2020 13:20:17 +0430</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی برای تشخیص بیماری (بخش چهارم)</title>
                <link>https://virgool.io/AIforMedical/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%A8%DB%8C%D9%85%D8%A7%D8%B1%DB%8C-%D8%A8%D8%AE%D8%B4-%DA%86%D9%87%D8%A7%D8%B1%D9%85-gjqpryaabry5</link>
                <description>خوب تا اینجا با داده‌های پزشکی و نوع مشکلاتی که می‌توان با هوش مصنوعی آنها را برطرف نمود آشنا شدیم. در ادامه‌ی این دوره می‌خواهیم مدلی پیاده‌سازی کنیم که چندین بیماری را از روی تصویر اشعه‌ی ایکس (X-ray) قفسه‌ی سینه تشخیص دهد. در طول این مسیر با چالش‌های متداول برای آموزش مدل برخورد خواهیم کرد که تکنیک‌هایی برای برطرف کردن آنها مطرح می‌کنیم.تصویر اشعه‌ی ایکس قفسه‌ی سینه برای تشخیص مریضی‌هایی مانند سرطان ریه، ذات الریه و ... استفاده می‌شود. رادیولوژیست‌ها کسانی هستند که یاد میگیرن چگونه تصاویر اشعه‌ی ایکس قفسه‌ی سینه را تفسیر کنن و بیماری را تشخیص دهند. امروزه می‌توان به کامپیوتر آموزش داد که بیماری را از روی تصویر اشعه‌ی ایکس قفسه‌ی سینه تشخیص دهد.برای شروع به تفسیر اشعه‌ی ایکس قفسه‌ی سینه می‌پردازیم. در تصویر زیر دو دسته از تصاویر را می‌بینید که دسته اول مربوط به قفسه‌ی سینه‌ی بیماران است که برچسب بیمار دارد و دسته‌ی دوم مربوط به افراد سالم است که برچسب نرمال داردحال ما تصویر جدیدی به شما می‌دهیم و از شما می‌خواهیم که تشخیص دهید آیا این تصویر متعلق به دسته‌ی بیمار است یا نرمال؟خوب برای تشخیص و جواب دادن به این مساله باید شباهت تصویر داده شده را با تصویر هر دو دسته بررسی کنیم و تشخیص دهیم که این تصویر متعلق به کدام دسته است.در تصویر زیر می‌بینیم که تصویر داده شده شباهت زیادی با تصاویر دسته‌ی بیمار دارد چرا که یک اسیب بافتی در قسمت مشخص شده وجود دارد که این حالت مشترکا در تصویر دسته‌ی بیمار نیز موجود است ولی در تصویر دسته‌ی نرمال وجود نداردروش آموزش مدل دقیقا مشابه با همین روش مطرح شده است. در این روش ما هر توده یا اسیبی که قطر آن بیشتر از ۳ سانتی‌متر باشد را به عنوان بیماری در نظر می‌گیریم. در هنگام آموزش ما تصاویر را با برچسب در اختیار الگوریتم قرار می‌دهیم تا از تصاویر ورودی بتواند خروجی مورد نیاز ما را ایجاد کند. خروجی الگوریتم به صورت نمره است که احتمال وجود بیماری در تصویر را نشان می‌دهد برای فهم بهتر به تصویر زیر توجه نماییددر تصویر بالا عدد اول متعلق به عکس اول و عدد دوم متعلق به عکس دوم است. تا زمانی که مدل آموزش ندیده باشد نمره‌ی خروجی با عدد دسته‌ی حقیقی تصاویر اختلاف زیادی دارد که این خطا را با تابع loss محاسبه می‌کنند نحوه‌ی عملکرد تابع loss را در بخش های بعدی بررسی خواهیم کرد.عدد دسته‌ی بیمار ۱ و عدد دسته‌ی نرمال ۰ است. همانطور که می‌بینید ۰.۴۸ تا ۱ فاصله‌ی زیادی دارد و ۰.۵۱ هم تا ۰ فاصله‌ی زیادی دارد.هنگامی که مدل آموزش می‌بیند این نمره‌ها به اعداد هر دسته نزدیک تر می‌شوند.</description>
                <category>هوش مصنوعی در پزشکی</category>
                <author>محسن جلالی</author>
                <pubDate>Sun, 13 Sep 2020 14:16:38 +0430</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی برای تشخیص بیماری (بخش سوم)</title>
                <link>https://virgool.io/AIforMedical/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%A8%DB%8C%D9%85%D8%A7%D8%B1%DB%8C-%D8%A8%D8%AE%D8%B4-%D8%B3%D9%88%D9%85-vscocootcopx</link>
                <description>در این بخش می‌خواهیم به معرفی عملیات پیش پردازش بر روی تصاویر بپردازیم.پیش‌پردازش تصاویر در کراسما قبل از آموزش مدل باید تصاویر را به گونه اصلاح کنیم که برای آموزش در شبکه های عصبی کانولوشن مناسب باشند به همین خاطر از تابع ImageDataGenerator در کتابخانه‌ی کراس استفاده می‌کنیم که عملیات preprocessing و data augmentation را برای ما انجام می‌دهد.# Import data generator from keras
from keras.preprocessing.image import ImageDataGenerator
# Normalize images
image_generator = ImageDataGenerator(
    samplewise_center=True, #Set each sample mean to 0.
    samplewise_std_normalization= True # Divide each input by its standard deviation
)استاندارد‌سازیدر کدهای بالا ما مقدار میانه تصاویر را برابر ۰ و مقدار انحراف معیار تصاویر را برابر ۱ قرار دادیم. به یه بیان دیگه میشه گفت که ما مقادیر جدیدی رو به هر پیکسل از تصویر دادیم که اون مقدار جدید از معادله‌ی زیر محاسبه میشه(x-μ)/σکه در اینجا x مقدار فعلی پیکسل هست و σ انحراف معیار و μ میانه‌ی پیکسل‌های تصاویر است.در کدهای زیر سایز تصاویر را به عنوان ورودی های شبکه‌ی عصبی کانولوشن کاهش می‌دهیم برای اینکه روند آموش سریعتر انجام شود# Flow from directory with specified batch size and target image size
generator = image_generator.flow_from_dataframe(
        dataframe=train_df,
        directory=&amp;quotnih/images-small/&amp;quot,
        x_col=&amp;quotImage&amp;quot, # features
        y_col= [&#039;Mass&#039;], # labels
        class_mode=&amp;quotraw&amp;quot, # &#039;Mass&#039; column should be in train_df
        batch_size= 1, # images per batch
        shuffle=False, # shuffle the rows or not
        target_size=(320,320) # width and height of output image
)خوب حالا تصویر اول دیتاست رو رسم می‌کنیم و باهم میبینیم که چه تغییراتی در تصویر ایجاد شده# Plot a processed image
sns.set_style(&amp;quotwhite&amp;quot)
generated_image, label = generator.__getitem__(0)
plt.imshow(generated_image[0], cmap=&#039;gray&#039;)
plt.colorbar()
plt.title(&#039;Raw Chest X Ray Image&#039;)
print(f&amp;quotThe dimensions of the image are {generated_image.shape[1]} pixels width and {generated_image.shape[2]} pixels height&amp;quot)
print(f&amp;quotThe maximum pixel value is {generated_image.max():.4f} and the minimum is {generated_image.min():.4f}&amp;quot)
print(f&amp;quotThe mean value of the pixels is {generated_image.mean():.4f} and the standard deviation is {generated_image.std():.4f}&amp;quot)خروجی قطعه کد بالا به صورت زیر استThe dimensions of the image are 320 pixels width and 320 pixels height
The maximum pixel value is 1.7999 and the minimum is -1.7404
The mean value of the pixels is 0.0000 and the standard deviation is 1.0000حال به مقایسه‌ی توزیع مقادیر پیکسل‌ها در تصویر اصلی و تصویر اصلاح شده می‌پردازیم # Include a histogram of the distribution of the pixels
sns.set()
plt.figure(figsize=(10, 7))
# Plot histogram for original iamge
sns.distplot(raw_image.ravel(), 
             label=f&#039;Original Image: mean {np.mean(raw_image):.4f} - Standard Deviation {np.std(raw_image):.4f} \n &#039;
             f&#039;Min pixel value {np.min(raw_image):.4} - Max pixel value {np.max(raw_image):.4}&#039;,
             color=&#039;blue&#039;, 
             kde=False)
# Plot histogram for generated image
sns.distplot(generated_image[0].ravel(), 
             label=f&#039;Generated Image: mean {np.mean(generated_image[0]):.4f} - Standard Deviation {np.std(generated_image[0]):.4f} \n&#039;
             f&#039;Min pixel value {np.min(generated_image[0]):.4} - Max pixel value {np.max(generated_image[0]):.4}&#039;, 
             color=&#039;red&#039;, 
             kde=False)
# Place legends
plt.legend()
plt.title(&#039;Distribution of Pixel Intensities in the Image&#039;)
plt.xlabel(&#039;Pixel Intensity&#039;)
plt.ylabel(&#039;# Pixel&#039;)</description>
                <category>هوش مصنوعی در پزشکی</category>
                <author>محسن جلالی</author>
                <pubDate>Sat, 12 Sep 2020 16:49:00 +0430</pubDate>
            </item>
                    <item>
                <title>هوش‌مصنوعی برای تشخیص بیماری (بخش دوم)</title>
                <link>https://virgool.io/AIforMedical/%D9%87%D9%88%D8%B4%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%A8%DB%8C%D9%85%D8%A7%D8%B1%DB%8C-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-vsrhb2raqb9h</link>
                <description>پیمایش داده‌هادر این بخش میرسم به بررسی داده‌های X-ray از قفسه‌ی سینه و پیمایش در داده‌ها و آشنا شدن با دیتاست و اعمال عملیات پیش پردازش بر روی داده‌ها (همیشه قبل از پیاده‌سازی الگوریتم های یادگیری ماشین باید اینکار رو انجام بدیم)برای کار کردن با دیتاست و انجام محاسبات ریاضی بر روی دیتا باید از کتابخونه های pandas و numpy استفاده کنیم.import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import os
import seaborn as sns
sns.set()

# Read csv file containing training datadata
train_df = pd.read_csv(&amp;quotnih/train-small.csv&amp;quot)
# Print first 5 rows
print(f&#039;There are {train_df.shape[0]} rows and {train_df.shape[1]} columns in this data frame&#039;)
#There are 1000 rows and 16 columns in this data frame
train_df.head()
#return 4 rows of data setخروجی کد بالانوع داده‌ها و بررسی مقادیر nullپس از آشنا شدن با مجموعه‌ی داده‌ها و ستون های موجود در دیتاست حال باید نوع داده‌های هر ستون و تعداد داده‌های از دست رفته در یک ستون را به دست آوریم پس دستور زیر را وارد می‌کنیم # Look at the data type of each column and whether null values are present
train_df.info()خروجی دستور بالا به صورت زیر است&lt;class &#039;pandas.core.frame.DataFrame&#039;&gt;
RangeIndex: 1000 entries, 0 to 999
Data columns (total 16 columns):
Image                 1000 non-null object
Atelectasis           1000 non-null int64
Cardiomegaly          1000 non-null int64
Consolidation         1000 non-null int64
Edema                 1000 non-null int64
Effusion              1000 non-null int64
Emphysema             1000 non-null int64
Fibrosis              1000 non-null int64
Hernia                1000 non-null int64
Infiltration          1000 non-null int64
Mass                  1000 non-null int64
Nodule                1000 non-null int64
PatientId             1000 non-null int64
Pleural_Thickening    1000 non-null int64
Pneumonia             1000 non-null int64
Pneumothorax          1000 non-null int64
dtypes: int64(15), object(1)
memory usage: 125.1+ KBدر خروجی بالا می‌بینیم که هیچ کدوم از فیلد ها NULL نیستند و در ستون سوم هم نوع داده‌های هر ستون رو می‌تونیم ببینیم (نکته‌ی قابل توجه به جز ستون Image و PatientId هر کدوم از ستون‌ها مربوط به یک بیماریه که ممکنه از در یه تصویر تشخیص داده شده باشه که مقدار هر فیلد ۰ یا ۱ هست که ۰ به معنای عدم وجود بیماری و ۱ به معنای وجود بیماری هست)چک کردن ایدی‌های یکتامرحله‌ی بعدی پیدا کردن ایدی‌های تکراری هست که ممکنه از یک مریض چندتا تصویر موجود باشه که باید مراقب اینجور رکوردها باشیم که جلوتر دلیل اون رو بررسی می‌کنیمprint(f&amp;quotThe total patient ids are {train_df[&#039;PatientId&#039;].count()}, from those the unique ids are {train_df[&#039;PatientId&#039;].value_counts().shape[0]} &amp;quot)
#The total patient ids are 1000, from those the unique ids are 928پیمایش برچسب‌ها خوب حالا باید بیایم و تمام برچسب‌های ممکن که در دیتاست داریم رو پیمایش کنیم (برچسب‌ها همون عنوان ستون ها هستند که گفتیم هر کدوم یه بیماریه)# Remove unnecesary elements
columns.remove(&#039;Image&#039;)
columns.remove(&#039;PatientId&#039;)
# Get the total classes
print(f&amp;quotThere are {len(columns)} columns of labels for these conditions: {columns}&amp;quot)#OUTPUT
There are 14 columns of labels for these conditions: [&#039;Atelectasis&#039;, &#039;Cardiomegaly&#039;, &#039;Consolidation&#039;, &#039;Edema&#039;, &#039;Effusion&#039;, &#039;Emphysema&#039;, &#039;Fibrosis&#039;, &#039;Hernia&#039;, &#039;Infiltration&#039;, &#039;Mass&#039;, &#039;Nodule&#039;, &#039;Pleural_Thickening&#039;, &#039;Pneumonia&#039;, &#039;Pneumothorax&#039;]در مرحله‌ی بعد میایم و تعداد بیماران مبتلا به هر بیماری را محاسبه می‌کنیم و نمایش می‌دهیم# Print out the number of positive labels for each class
for column in columns:
    print(f&amp;quotThe class {column} has {train_df[column].sum()} samples&amp;quot)#OUTPUT
The class Atelectasis has 106 samples
The class Cardiomegaly has 20 samples
The class Consolidation has 33 samples
The class Edema has 16 samples
The class Effusion has 128 samples
The class Emphysema has 13 samples
The class Fibrosis has 14 samples
The class Hernia has 2 samples
The class Infiltration has 175 samples
The class Mass has 45 samples
The class Nodule has 54 samples
The class Pleural_Thickening has 21 samples
The class Pneumonia has 10 samples
The class Pneumothorax has 38 samplesبا توجه به آمارهای فوق درمیابیم که نحوه‌ی توزیع بیماران در دسته بندی‌های مختلف به یک اندازه نیست. (همون مشکله class imbalance)مصورسازی داده‌هاتوی این مرحله از نام فایل تصاویر که در ستون Image موجود است استفاده می‌کنیم برای نمایش رندوم چند تصویر از دیتاست.# Extract numpy values from Image column in data frame
images = train_df[&#039;Image&#039;].values
# Extract 9 random images from it
random_images = [np.random.choice(images) for i in range(9)]
# Location of the image dir
img_dir = &#039;nih/images-small/&#039;
print(&#039;Display Random Images&#039;)
# Adjust the size of your images
plt.figure(figsize=(20,10))
# Iterate and plot random images
for i in range(9):
    plt.subplot(3, 3, i + 1)
    img = plt.imread(os.path.join(img_dir, random_images[i]))
    plt.imshow(img, cmap=&#039;gray&#039;)
    plt.axis(&#039;off&#039;)
# Adjust subplot parameters to give specified padding
plt.tight_layout()    وارسی تک عکسیخوب تا اینجا توی دیتاست خودمون پیمایش کردیم اطلاعات خوبی ازش به دست اوردیم حالا میخوایم بررسیمون رو دقیق‌تر کنیم و اطلاعات دقیق‌تری از تصاویر به دست بیاریم برای اینکار تصویر اول دیتاست رو انتخاب می‌کنیم و اطلاعاتی در مورد تعداد پیکسل، بیشترین و کمترین مقدار پیکسل و مقدار میانه‌ی و انحراف معیار مجموعه‌ی پیکسل‌ها رو چاپ می‌کنیم # Get the first image that was listed in the train_df dataframe
sample_img = train_df.Image[0]
raw_image = plt.imread(os.path.join(img_dir, sample_img))
plt.imshow(raw_image, cmap=&#039;gray&#039;)
plt.colorbar()
plt.title(&#039;Raw Chest X Ray Image&#039;)
print(f&amp;quotThe dimensions of the image are {raw_image.shape[0]} pixels width and {raw_image.shape[1]} pixels height, one single color channel&amp;quot)
print(f&amp;quotThe maximum pixel value is {raw_image.max():.4f} and the minimum is {raw_image.min():.4f}&amp;quot)
print(f&amp;quotThe mean value of the pixels is {raw_image.mean():.4f} and the standard deviation is {raw_image.std():.4f}&amp;quot)خروجی کدهای بالا به صورت زیر هستThe dimensions of the image are 1024 pixels width and 1024 pixels height, one single color channel
The maximum pixel value is 0.9804 and the minimum is 0.0000
The mean value of the pixels is 0.4796 and the standard deviation is 0.2757وارسی توزیع مقادیر پیکسل‌هاپس از نمایش تصاویر حال نوبت به رسم نمودار توزیع مقادیر پیکسل‌ها رسیده# Plot a histogram of the distribution of the pixels
sns.distplot(raw_image.ravel(), label=f&#039;Pixel Mean {np.mean(raw_image):.4f} &amp; Standard Deviation {np.std(raw_image):.4f}&#039;, kde=False)
plt.legend(loc=&#039;upper center&#039;)
plt.title(&#039;Distribution of Pixel Intensities in the Image&#039;)
plt.xlabel(&#039;Pixel Intensity&#039;)
plt.ylabel(&#039;# Pixels in Image&#039;)خروجی قطعه کد بالا به صورت زیر استText(0, 0.5, &#039;# Pixels in Image&#039;)</description>
                <category>هوش مصنوعی در پزشکی</category>
                <author>محسن جلالی</author>
                <pubDate>Sat, 12 Sep 2020 11:38:31 +0430</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی برای تشخیص بیماری (بخش اول)</title>
                <link>https://virgool.io/AIforMedical/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%A8%DB%8C%D9%85%D8%A7%D8%B1%DB%8C-%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84-qcpfeo06uzts</link>
                <description>در این دوره ما به بررسی نحوه‌ی پیاده‌سازی مدل برای یادگیری تصاویر پزشکی (مانند MRI scan, X-ray) و تشخیص بیماری‌ها براساس تصاویر پزشکی می‌پردازیم که در این مسیر با چالش‌های data cleaning و image segmentation برخورد می‌کنیم. برای مثال تشخیص محل تومورها از روی تصویر ام ار ای مغز با استفاده از image segmentation.در اینجا به بررسی سه مثال از به کارگیری هوش مصنوعی در تشخیص بیماری ها می‌پردازیم.مثال اول در حیطه‌ی پوست است که عکس بخشی از پوست که رنگ و شکل آن تغییر کرده است را به سیستم می‌دهیم و سیستم تشخیص می‌دهد که آیا این شخص سرطان پوست دارد یا نه که این سیستم به وسیله‌ی ۱۲۹۰۰۰ تصویر از پوست با برچسب گذاری و توسط شبکه عصبی کانولوشنال آموزش داده می‌شود.مثال دوم در حیطه‌ی چشم پزشکی است که مجموعه‌ای ۱۲۸۰۰۰ تایی از تصاویر پشت چشم اماده شده که توسط جمعی از متخصصان برچسب گذاری شده است که شامل افرادی است که مبتلا به دیابت هستند و به خاطر دیابت بینایی خود را از دست داده‌اند. چالشی که در این بخش با آن روبه‌رو هستیم این است که ۳۰ درصد تصاویر مربوط به بیماران واقعی ایست و ۷۰ درصد تصاویر مربوط افراد سالم است. به این مشکل class imbalance گفته می‌شود که در ادامه راهکارهای برای مقابله با این چالش مطرح می‌شود. مثال سوم در مورد تصاویر میکروسکوپ از بافت بین سلول‌هاست. در سال ۲۰۱۷ تحقیقاتی انجام شد که در آن شبکه‌ی عصبی‌ای آموزش داده شد که گسترش یا عدم گسترش سلول‌های سرطانی را از روی تصاویر میکروسکوپیک تشخیص می‌داد. نکته‌ی قابل توجه در کار کردن با تصاویر میکروسکوپیک رزلوشن بسیار بالای این تصاویر است که ما مستقیم نمی‌توانیم آنها را به شبکه بدهیم در عوض آنها را به تکه‌های کوچکتر تقسیم کرده و سپس آنها را برای آموزش در اختیار شبکه قرار می‌دهیم.</description>
                <category>هوش مصنوعی در پزشکی</category>
                <author>محسن جلالی</author>
                <pubDate>Fri, 11 Sep 2020 20:41:54 +0430</pubDate>
            </item>
            </channel>
</rss>