<?xml version="1.0"?>
<rss version="2.0"><channel><title>&#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;: &#x630;&#x643;&#x627;&#x621; &#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/page/4/?d=2</link><description>&#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x629;: &#x630;&#x643;&#x627;&#x621; &#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</description><language>ar</language><item><title>&#x62A;&#x62B;&#x628;&#x64A;&#x62A; &#x645;&#x643;&#x62A;&#x628;&#x629; &#x627;&#x644;&#x645;&#x62D;&#x648;&#x651;&#x644;&#x627;&#x62A; Transformers</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D9%85%D9%83%D8%AA%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%88%D9%91%D9%84%D8%A7%D8%AA-transformers-r2352/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_06/---Transformers.png.d60f8d3abf1d0ba26c607490a980d2fd.png" /></p>
<p>
	تعرفنا في <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%88%D9%91%D9%84%D8%A7%D8%AA-transformers-%D9%85%D9%86-%D9%85%D9%86%D8%B5%D8%A9-hugging-face-r2340/" rel="">مقال سابق</a> على مكتبة المحوّلات Transformers التي توفرها منصة Hugging Face واستعرضنا أبرز مميزاتها وتوافقها مع أي مكتبة تعلُّم عميق تستخدمها؛ وسنتعلم في هذا المقال كيفية تثبيت هذه المكتبة على حاسوبك المحلي وخطوات ضبط متغيرات الذاكرة المخبئية cache المتعلقة بها، والإعدادات اللازمة للتعامل مع المكتبة دون الحاجةللاتصال بالإنترنت.
</p>

<p>
	هذه المكتبة مختبرة على إصدارات مختلفة من <a href="https://academy.hsoub.com/python/" rel="">لغة بايثون</a> من الإصدار 3.6 وأعلى، وإطار العمل باي تورش <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">PyTorch</a> من الإصدار 1.1.0 وأعلى، والإطار تنسرفلو TensorFlow من الإصدار 2 وأعلى، بالإضافة إلى مكتبة Flax.
</p>

<p>
	وسنعرض في مقال اليوم تعليمات تثبيتها مع كل من:
</p>

<ul>
	<li>
		إطار العمل <a href="https://pytorch.org/get-started/locally" rel="external nofollow">PyTorch</a>.
	</li>
	<li>
		إطار العمل <a href="https://www.tensorflow.org/install/pip" rel="external nofollow">TensorFlow 2.0</a>.
	</li>
	<li>
		مكتبة الشبكات العصبية <a href="https://flax.readthedocs.io/en/latest/" rel="external nofollow">Flax</a>.
	</li>
</ul>

<p>
	اتبع التعليمات التي تناسبك من بينها.
</p>

<h2 id="pip">
	التثبيت بواسطة مدير الحزم pip
</h2>

<p>
	سنبدأ عملنا بإنشاء البيئة الافتراضية للمشروع إذ ينبغي أن تثبت المكتبة Transformers ضمن بيئة افتراضية، وتساعدك بيئات <a href="https://academy.hsoub.com/programming/python/" rel="">بايثون</a> الافتراضية على إدارة مشاريعك البرمجية المختلفة بمرونة وتجنب المشكلات التي قد تحدث بسبب تعارض الاعتماديات الخاصة بكل مشروع. يمكنك معرفة المزيد عن كيفية تثبيت بايثون وإعداد بيئته الافتراضية على أشهر نظم التشغيل بمساعدة <a href="https://academy.hsoub.com/programming/python/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-3-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A8%D9%8A%D8%A6%D8%AA%D9%87%D8%A7-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-r714/" rel="">هذا الدليل</a> باللغة العربية على أكاديمية حسوب.
</p>

<p>
	أنشئ بيئةً افتراضية في مجلد مشروعك وفق التالي:
</p>

<pre class="ipsCode">python -m venv .env
</pre>

<p>
	ثم فعّل البيئة الافتراضية، فإذا كنت تستخدم نظام تشغيل <a href="https://academy.hsoub.com/devops/linux/" rel="">لينكس</a> أو ماك اكتب هذا الأمر:
</p>

<pre class="ipsCode">source .env/bin/activate
</pre>

<p>
	وإذا كنت تستخدم نظام التشغيل ويندوز فيمكنك تفعيلها بكتابة ما يلي:
</p>

<pre class="ipsCode">.env/Scripts/activate
</pre>

<p>
	وبذلك تكون جاهزًا لتثبيت المكتبة من خلال التعليمة التالية:
</p>

<pre class="ipsCode">pip install transformers
</pre>

<p>
	وفي حالة الأجهزة التي تعتمد في معالجتها على وحدة المعالجة المركزية (CPU) فقط فيمكنك تثبيت مكتبة التعلم العميق ومكتبة المحولات transformers في سطرٍ واحد، مثل السطر التالي الذي يبين طريقة تثبيت PyTorch و Transformers:
</p>

<pre class="ipsCode">pip install 'transformers[torch]'
</pre>

<p>
	والآن لتثبيت Transformers و TensorFlow 2.0 نكتب:
</p>

<pre class="ipsCode">pip install 'transformers[tf-cpu]'
</pre>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="">
		<div class="ipsQuote_citation">
			اقتباس
		</div>

		<p>
			إذا كان جهازك يعتمد على معالج M1 / ARM فستحتاج لتثبيت المكونات التالية قبل تثبيت TensorFlow 2.0:
		</p>

		<pre class="ipsCode">brew install cmake
brew install pkg-config
</pre>
	</blockquote>
</blockquote>

<p>
	وأخيرًا لتثبيت Transformers مع Flax نكتب الأمر التالي:
</p>

<pre class="ipsCode">pip install 'transformers[flax]'
</pre>

<p>
	يمكنك التأكد من صحة تثبيت المكتبة transformers بتنفيذ السطر التالي الذي ينبغي أن يُحمّل نموذج تعلّم آلي مدرب مسبقًا pretrained model:
</p>

<pre class="ipsCode">python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"
</pre>

<p>
	ولنعرض بعدها قاموس النموذج الذي حمّلناه والمتضمن مفتاحي التسمية التوضيحية label ومجموع النقاط score:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7757_7" style=""><span class="pun">[{</span><span class="str">'label'</span><span class="pun">:</span><span class="pln"> </span><span class="str">'POSITIVE'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'score'</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0.9998704791069031</span><span class="pun">}]</span></pre>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="">
	تثبيت المكتبة Transformers من المصدر الأساسي
</h2>

<p>
	يمكنك تثبيت مكتبة المحولات من مصدرها الأساسي (أي من مستودع منصة Hugging Face على github) بكتابة التالي:
</p>

<pre class="ipsCode">pip install git+https://github.com/huggingface/transformers
</pre>

<p>
	بهذه الطريقة ستثبت الإصدار الأساسي من المكتبة main version وليس أحدث إصدار مستقر متوفر stable version، والفرق بينهما أن استخدام الإصدار الأساسي يبقيك على اطلاع بأحدث تطورات المكتبة أولًا بأول حتى إن لم تكن تحديثات مستقرة، فمثلًا إذا ظهر خطأ معين في الإصدار الرسمي للمكتبة فيمكن للجهة المطورة لها أن تصلحه إطلاق الإصدار الجديد وبذلك ستستفيد من الإصلاح قبل طرح الإصدار الجديد المستقر.
</p>

<p>
	تأكد الآن من صحة تثبيت المكتبة بتنفيذ الأمر التالي:
</p>

<pre class="ipsCode">python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love you'))"
</pre>

<h2 id="-1">
	تثبيت المكتبة تثبيًا قابلًا للتعديل
</h2>

<p>
	تحتاج هذا النوع من التثبيت القابل للتعديل Editable install في حالتين هما:
</p>

<ul>
	<li>
		عندما تستخدم الإصدار الأساسي main version من الشيفرة المصدرية.
	</li>
	<li>
		إذا أردت المساهمة في مشروع مكتبة المحوّلات واختبار تعديلات الشيفرات البرمجية.
	</li>
</ul>

<p>
	لنبدأ أولًا باستنساخ مستودع المكتبة وتثبيتها كما يلي:
</p>

<pre class="ipsCode">git clone https://github.com/huggingface/transformers.git
cd transformers
pip install -e .
</pre>

<p>
	ستعمل هذه الأوامر على وصل المجلد الذي استنسخت مستودع المكتبة ضمنه مع مسارات مكتبة بايثون التي تستخدمها، أي ستبحث بايثون عند تنفيذ الأوامر في هذا المجلد إضافةً إلى مجلدات المكتبة الاعتيادية التي تبحث فيها عادةً، فعلى سبيل المثال إذا كانت حزم بايثون مثبتة في المجلد <code>/‎~/anaconda3/envs/main/lib/python3.7/site-packages</code> فيجري البحث عن الأوامر ضمنه وضمن المجلد <code>/‎~/transformers</code> الذي استنسخت فيه المستودع.
</p>

<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<p data-gramm="false">
		حافظ على وجود المجلد <code>transformers</code> إذا كنت تنوي الاستمرار في استخدام المكتبة.
	</p>
</blockquote>

<p>
	والآن حَدِّث ما استنسخته إلى أحدث إصدار من المكتبة وفق التالي:
</p>

<pre class="ipsCode">cd ~/transformers/
git pull
</pre>

<p>
	ستكتشف البيئة الافتراضية لبايثون الإصدار الأساسي من المكتبة الذي ثبتناه وتبدأ بالتعامل معه بعد إعادة التشغيل.
</p>

<h2 id="conda">
	التثبيت باستخدام conda
</h2>

<p>
	يمكنك تثبيت المكتبة باستخدام conda بدلًا من pip كما يلي:
</p>

<pre class="ipsCode">conda install conda-forge::transformers
</pre>

<h2 id="cachesetup">
	ضبط الذاكرة المخبئية Cache setup
</h2>

<p>
	يُشير المتغير <code>TRANSFORMERS_CACHE</code>، وهو أحد <a href="https://academy.hsoub.com/devops/linux/%D9%82%D8%B1%D8%A7%D8%A1%D8%A9-%D9%88%D8%B6%D8%A8%D8%B7-%D9%85%D8%AA%D8%BA%D9%8A%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D8%B5%D8%AF%D9%81%D8%A9-shell-%D9%88%D8%A7%D9%84%D8%A8%D9%8A%D8%A6%D8%A9-%D9%81%D9%8A-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r697/" rel="">متغيرات البيئة للصدفة shell</a>، إلى المجلد المحلي الذي ستُخَزَّن فيه النماذج المدربة مسبقًا التي ستُحمِّلها، وفي الوضع الافتراضي يكون هذا المجلد هو <code>‎~/.cache/huggingface/hub</code> في لينكس، ويكون <code>C:\Users\username\.cache\huggingface\hub</code> في ويندوز، لكن يمكنك تغييره بتعديل قيم متغيرات البيئة للصدفة shell الواردة أدناه مع مراعاة ترتيبها فهي مرتبة حسب الأولوية:
</p>

<ul>
	<li>
		المتغير <code>HUGGINGFACE_HUB_CACHE</code> أو <code>TRANSFORMERS_CACHE</code>.
	</li>
	<li>
		المتغير <code>HF_HOME</code>.
	</li>
	<li>
		المتغير <code>XDG_CACHE_HOME + /huggingface</code>.
	</li>
</ul>

<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<p data-gramm="false">
		إذا كنت تعتمد نسخةً قديمة من مكتبة المحولات ووضعت قيمًا للمتغيرين <code>PYTORCH_TRANSFORMERS_CACHE</code> أو <code>PYTORCH_PRETRAINED_BERT_CACHE</code> من متغيرات البيئة للصدفة shell فإن المكتبة ستستخدمهما طالما أنك لم تضبط المتغير <code>TRANSFORMERS_CACHE</code>.
	</p>
</blockquote>

<h2 id="offlinemode">
	العمل من دون اتصال بالإنترنت Offline Mode
</h2>

<p>
	يمكنك تشغيل مكتبة المحوّلات في بيئة محمية <a href="https://academy.hsoub.com/devops/security/firewalls/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D9%86%D8%A7%D8%B1%D9%8A-%D9%88%D9%83%D9%8A%D9%81-%D9%8A%D8%B9%D9%85%D9%84%D8%9F-r114/" rel="">بجدار ناري</a> أو غير متصلة بالإنترنت بالاعتماد على الملفات المخزنة محليًا على جهازك، وذلك بإعطاء القيمة "1" للمتغير <code>TRANSFORMERS_OFFLINE</code>.
</p>

<p>
	تستطيع أيضًا أن توفر لمشروعك مجموعات بيانات Datasets محلية لاستخدامها في التدريب من دون اتصال بالإنترنت عبر ضبط قيمة المتغير <code>HF_DATASETS_OFFLINE=1</code>. كما في المثال التالي:
</p>

<pre class="ipsCode">HF_DATASETS_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \
python examples/pytorch/translation/run_translation.py --model_name_or_path google-t5/t5-small --dataset_name wmt16 --dataset_config ro-en ...
</pre>

<p>
	سيعمل هذا السكربت بلا تأخير أو انتظار لأنه لن يحاول الاتصال بالإنترنت لتحميل النموذج من مستودع Hugging Face بل سيستخدم الملفات المحلية فقط.
</p>

<p>
	تستطيع أيضًا إيقاف تحميل النماذج من المستودع وتحميلها من المواقع المحلية فقط عن طريق ضبط قيمة المعامل <code>local_files_only</code> على <code>True</code> في كل مرة تستدعي فيها <code>from_pretrained()‎</code> وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7757_11" style=""><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> T5Model

model </span><span class="pun">=</span><span class="pln"> T5Model</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"./path/to/local/directory"</span><span class="pun">,</span><span class="pln"> local_files_only</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span></pre>

<h3 id="-2">
	جلب النماذج والمُرمِزَّات لاستخدامها في حالة العمل دون اتصال بالإنترنت
</h3>

<p>
	يُقصد بجلب fetch النماذج والمُرمِزَّات تحميلها مسبقًا من مستودعات المكتبة Transformers، وحفظها على جهازك، ثم استخدامها لاحقًا من دون اتصال بالإنترنت عبر الإشارة إلى مسارها المحلي عند كتابة التعليمات البرمجية، وذلك بثلاث طرق:
</p>

<p>
	<strong>الطريقة الأولى</strong>: حمّل الملفات التي تريدها من واجهة المستخدم <a href="https://huggingface.co/models" rel="external nofollow">لمستودع النماذج</a> بالضغط على أيقونة السهم النازل الموجودة بجوار كل ملف كما في الصورة التالية:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="151877" href="https://academy.hsoub.com/uploads/monthly_2024_06/model-download-transformers.png.c979b14eae5479206f47163598ec1e88.png" rel=""><img alt="model download transformers" class="ipsImage ipsImage_thumbnailed" data-fileid="151877" data-unique="tggxla5i6" style="width: 599px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2024_06/model-download-transformers.thumb.png.0b0ff8bae8eecc40636ef4adc157b33f.png"> </a>
</p>

<p>
	<strong>الطريقة الثانية</strong>: استخدم <code>PreTrainedModel.from_pretrained()‎</code> و <code>PreTrainedModel.save_pretrained()‎</code> وفق التسلسل التالي:
</p>

<p>
	1. حمّل مسبقًا الملفات اللازمة لمشروعك بواسطة <code>PreTrainedModel.from_pretrained()‎</code> كما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7757_14" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">,</span><span class="pln"> </span><span class="typ">AutoModelForSeq2SeqLM</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"bigscience/T0_3B"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoModelForSeq2SeqLM</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"bigscience/T0_3B"</span><span class="pun">)</span></pre>

<p>
	2. احفظ ملفاتك في مجلد معين على حاسوبك باستخدام <code>PreTrainedModel.save_pretrained()‎</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7757_16" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">save_pretrained</span><span class="pun">(</span><span class="str">"./your/path/bigscience_t0"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">save_pretrained</span><span class="pun">(</span><span class="str">"./your/path/bigscience_t0"</span><span class="pun">)</span></pre>

<p>
	3. عندما تكون في وضع العمل من دون اتصال بالإنترنت أعد تحميل الملفات من المجلد الذي حفظته الملفات به بواسطة التعليمة <code>PreTrainedModel.from_pretrained()‎</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7757_18" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"./your/path/bigscience_t0"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoModel</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"./your/path/bigscience_t0"</span><span class="pun">)</span></pre>

<p>
	<strong>الطريقة الثالثة</strong>: حمّل الملفات برمجيًا باستخدام <a href="https://github.com/huggingface/huggingface_hub/tree/main/src/huggingface_hub" rel="external nofollow">مكتبة huggingface_hub</a> كما يلي:
</p>

<p>
	1. ثَبّت المكتبة <code>huggingface_hub</code> في بيئتك الافتراضية:
</p>

<pre class="ipsCode">python -m pip install huggingface_hub
</pre>

<p>
	2. استخدم الدالة <a href="https://huggingface.co/docs/hub/models-adding-libraries#download-files-from-the-hub" rel="external nofollow"><code>hf_hub_download</code></a> لتحميل الملف الذي تريده إلى المجلد المحلي المحدد، فالأمر التالي على سبيل المثال يُحَمِّل الملف <code>config.json</code> من النموذج "T0" إلى المجلد الذي تحدده:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7757_20" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> huggingface_hub </span><span class="kwd">import</span><span class="pln"> hf_hub_download

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> hf_hub_download</span><span class="pun">(</span><span class="pln">repo_id</span><span class="pun">=</span><span class="str">"bigscience/T0_3B"</span><span class="pun">,</span><span class="pln"> filename</span><span class="pun">=</span><span class="str">"config.json"</span><span class="pun">,</span><span class="pln"> cache_dir</span><span class="pun">=</span><span class="str">"./your/path/bigscience_t0"</span><span class="pun">)</span></pre>

<p>
	الآن بمجرد الانتهاء من تحميل ملفات النماذج وتخزينها محليًّا يصبح بإمكانك استخدامها عبر كتابة مسار المجلد الذي حفظت فيه ضمن التعليمات البرمجية كما في المثال التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7757_22" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoConfig</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> config </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoConfig</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"./your/path/bigscience_t0/config.json"</span><span class="pun">)</span></pre>

<p>
	ننهي عند هذه النقطة خطوات تثبيت المكتبة <code>huggingface_hub</code>وضبط إعداداتها، ولمزيد من التعمق ندعوك لمتابعة السلسلة وقراءة مقالنا التالي الذي سنتعرف فيه على طريقة استخدام خطوط الأنابيب pipeline لتبسيط التعامل مع نماذج الذكاء الاصطناعي التي توفرها Hugging Face.
</p>

<p>
	ترجمة -وبتصرف- لقسم <a href="https://huggingface.co/docs/transformers/installation#installation" rel="external nofollow">Installation</a> من توثيقات Hugging Face.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		المقال السابق: <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AC%D9%88%D9%84%D8%A9-%D8%B3%D8%B1%D9%8A%D8%B9%D8%A9-%D9%84%D9%84%D8%A8%D8%AF%D8%A1-%D9%85%D8%B9-%D9%85%D9%83%D8%AA%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%88%D9%91%D9%84%D8%A7%D8%AA-transformers-r2351/" rel="">جولة سريعة للبدء مع مكتبة المحوّلات Transformers</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%86-%D9%87%D9%88-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D9%85%D8%A7-%D8%A3%D8%A8%D8%B1%D8%B2-%D9%85%D9%87%D8%A7%D9%85%D9%87-r2319/" rel="">من هو مهندس الذكاء الاصطناعي وما أبرز مهامه</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مكتبات وأطر عمل الذكاء الاصطناعي: القوة الكامنة خلف الأنظمة الذكية</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2352</guid><pubDate>Fri, 28 Jun 2024 15:00:05 +0000</pubDate></item><item><title>&#x62C;&#x648;&#x644;&#x629; &#x633;&#x631;&#x64A;&#x639;&#x629; &#x644;&#x644;&#x628;&#x62F;&#x621; &#x645;&#x639; &#x645;&#x643;&#x62A;&#x628;&#x629; &#x627;&#x644;&#x645;&#x62D;&#x648;&#x651;&#x644;&#x627;&#x62A; Transformers</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%AC%D9%88%D9%84%D8%A9-%D8%B3%D8%B1%D9%8A%D8%B9%D8%A9-%D9%84%D9%84%D8%A8%D8%AF%D8%A1-%D9%85%D8%B9-%D9%85%D9%83%D8%AA%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%88%D9%91%D9%84%D8%A7%D8%AA-transformers-r2351/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_06/------Transformers-.png.133290c846c9fa297c718d32a08d1218.png" /></p>
<p>
	إذا كنت مطوّرًا أو مستخدمًا دائمًا للذكاء الاصطناعي فجولتنا في مقال اليوم ستساعدك على الاستفادة من <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%88%D9%91%D9%84%D8%A7%D8%AA-transformers-%D9%85%D9%86-%D9%85%D9%86%D8%B5%D8%A9-hugging-face-r2340/" rel="">مكتبة المحولات Transformers</a>، وتعرض لك آلية استخدام خطوط الأنابيب ‎‏pipeline()‎‏ في الاستدلال وتوقع معلومات جديدة inference، وكيفية تحميل نموذج مدرب مسبقًا ومعالج مدرب مسبقًا يناسبان مشروعك بواسطة <a href="https://huggingface.co/docs/transformers/model_doc/auto" rel="external nofollow">الأصناف التلقائية Auto Classes</a>، بالإضافة إلى طريقة تدريب النموذج بإطار عمل PyTorch أو TensorFlow.
</p>

<p>
	تأكد في البداية من تثبيت المكتبات التالية لتتابع معنا خطوات العمل:
</p>

<pre class="ipsCode">!pip install transformers datasets
</pre>

<p>
	وثبت بعدها <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">إطار عمل التعلُّم الآلي</a> الذي تفضله.
</p>

<p>
	فإذا اخترت Pytorch اكتب السطر التالي لتثبيته:
</p>

<pre class="ipsCode">pip install torch
</pre>

<p>
	وإذا كنت تفضل TensorFlow ثَبّته بكتابة ما يلي:
</p>

<pre class="ipsCode">pip install tensorflow
</pre>

<h2 id="pipeline">
	خطوط الأنابيب Pipeline
</h2>

<p>
	خط الأنابيب ‎‏pipeline()‎‏ هو أسهل وأسرع الطرق المتاحة لاستخدام نموذج تعلّم آلي مدرب مسبقًا في عملية الاستدلال، ويمكنك الاستفادة منه في مجالات متنوعة لتنفيذ مهام تتعلق بمعالجة اللغة الطبيعية Natural Language Processing أو الصوتيات Audio أو الرؤية الحاسوبية Computer Vision أو الأنماط المتعددة Modalities، ويبين الجدول التالي أبرزها:
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="">
		<div class="ipsQuote_citation">
			اقتباس
		</div>

		<p>
			<strong>تنويه</strong>: يحتوي الجدول أشهر المهام التي يمكنك تنفيذها بواسطة خط الأنابيب، مع العلم بوجود مهام أخرى كثيرة لا نذكرها هنا لكن يمكنك الاطلاع عليها بمراجعة قسم <a href="https://huggingface.co/docs/transformers/main_classes/pipelines" rel="external nofollow">Pipeline</a> من توثيقات Hugging Face.
		</p>
	</blockquote>
</blockquote>

<table>
	<thead>
		<tr>
			<th>
				المهمة
			</th>
			<th>
				الوصف
			</th>
			<th>
				أسلوب المعالجة
			</th>
			<th>
				المُعرّف Pipeline identifier
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				تصنيف نص
			</td>
			<td>
				وضع تسمية توضيحية label لجزء محدد من النص
			</td>
			<td>
				معالجة اللغة الطبيعية (NLP)
			</td>
			<td>
				<code>pipeline(task=“sentiment-analysis”)</code>
			</td>
		</tr>
		<tr>
			<td>
				توليد نص
			</td>
			<td>
				توليد نص بناءً على موجه promote معين يُعطى للنموذج
			</td>
			<td>
				معالجة اللغة الطبيعية (NLP)
			</td>
			<td>
				<code>pipeline(task=“text-generation”)</code>
			</td>
		</tr>
		<tr>
			<td>
				التلخيص
			</td>
			<td>
				إنشاء ملخص لجزء من نص أو مستند
			</td>
			<td>
				معالجة اللغة الطبيعية (NLP)
			</td>
			<td>
				<code>pipeline(task=“summarization”)</code>
			</td>
		</tr>
		<tr>
			<td>
				تصنيف الصور
			</td>
			<td>
				وضع تسمية توضيحية لصورة
			</td>
			<td>
				الرؤية الحاسوبية
			</td>
			<td>
				<code>pipeline(task=“image-classification”)</code>
			</td>
		</tr>
		<tr>
			<td>
				تجزئة الصور
			</td>
			<td>
				وضع تسمية توضيحية لكل جزء أو بيكسل من الصورة (يدعم التجزئة الدلالية للصور تجزئة المثيل)
			</td>
			<td>
				الرؤية الحاسوبية
			</td>
			<td>
				<code>pipeline(task=“image-segmentation”)</code>
			</td>
		</tr>
		<tr>
			<td>
				التعرّف على الكائنات
			</td>
			<td>
				التنبؤ بالمربعات المحيطة بالكائنات في صورة معينة وتصنيفها
			</td>
			<td>
				الرؤية الحاسوبية
			</td>
			<td>
				<code>pipeline(task=“object-detection”)</code>
			</td>
		</tr>
		<tr>
			<td>
				تصنيف الصوتيات
			</td>
			<td>
				وضع تسمية توضيحية للبيانات الصوتية
			</td>
			<td>
				صوتيات
			</td>
			<td>
				<code>pipeline(task=“audio-classification”)</code>
			</td>
		</tr>
		<tr>
			<td>
				التعرّف التلقائي على الكلام
			</td>
			<td>
				تحويل الكلام إلى نص مكتوب
			</td>
			<td>
				صوتيات
			</td>
			<td>
				<code>pipeline(task=“automatic-speech-recognition”)</code>
			</td>
		</tr>
		<tr>
			<td>
				الإجابة على الأسئلة مرئيًا
			</td>
			<td>
				الإجابة على سؤال حول الصورة، يُعطى النموذج سؤال وصورة
			</td>
			<td>
				أنماط متعددة Multimodal
			</td>
			<td>
				<code>pipeline(task=“vqa”)</code>
			</td>
		</tr>
		<tr>
			<td>
				الإجابة على الأسئلة المتعلقة بالمستندات
			</td>
			<td>
				الإجابة على سؤال حول المستند، يُعطى النموذج سؤال ومستند
			</td>
			<td>
				أنماط متعددة Multimodal
			</td>
			<td>
				<code>pipeline(task=“document-question-answering”)</code>
			</td>
		</tr>
		<tr>
			<td>
				عَنْوَنْة الصور
			</td>
			<td>
				إعطاء عنوان مناسب للصورة
			</td>
			<td>
				أنماط متعددة Multimodal
			</td>
			<td>
				<code>pipeline(task=“image-to-text”)</code>
			</td>
		</tr>
	</tbody>
</table>

<p>
	والآن بعد أن ثبتنا إطار العمل سننشئ مثيلًا instance لخط الأنابيب pipeline()‎ ونحدد المهمة التي نريد استخدامه من أجلها، سنستخدمه في هذا المقال لتحليل المشاعر "sentiment-analysis"، وذلك بكتابة الأوامر التالية:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_6" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> pipeline

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> classifier </span><span class="pun">=</span><span class="pln"> pipeline</span><span class="pun">(</span><span class="str">"sentiment-analysis"</span><span class="pun">)</span></pre>

<p>
	بموجب التعليمات السابقة سيُحَمِّل خط الأنابيب‎ نموذج افتراضي مدرب مسبقًا pretrained model ومُرَمِّزْ tokenizer مناسبين لمهمة تحليل المشاعر، ويمكنك بعدها استخدام المُصَنِّف <code>classifier</code> الذي عرّفناه على النص الذي تود <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%B4%D8%A7%D8%B9%D8%B1-%D9%81%D9%8A-%D8%A7%D9%84%D9%86%D8%B5%D9%88%D8%B5-%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%82-r1476/" rel="">تحليل المشاعر</a> ضمنه لتحصل على النتيجة، وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_8" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> classifier</span><span class="pun">(</span><span class="str">"We are very happy to show you the <span class="ipsEmoji">?</span> Transformers library."</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[{</span><span class="str">'label'</span><span class="pun">:</span><span class="pln"> </span><span class="str">'POSITIVE'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'score'</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0.9998</span><span class="pun">}]</span></pre>

<p>
	إذا كان لديك أكثر من مُدْخَل input أي أكثر من نص، فمَرِرهم لخط الأنابيب pipeline()‎ بهيئة قائمة ليرجع لك قائمة بالقواميس dictionaries كما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_10" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> results </span><span class="pun">=</span><span class="pln"> classifier</span><span class="pun">([</span><span class="str">"We are very happy to show you the <span class="ipsEmoji">?</span> Transformers library."</span><span class="pun">,</span><span class="pln"> </span><span class="str">"We hope you don't hate it."</span><span class="pun">])</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">for</span><span class="pln"> result </span><span class="kwd">in</span><span class="pln"> results</span><span class="pun">:</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"label: {result['label']}, with score: {round(result['score'], 4)}"</span><span class="pun">)</span><span class="pln">
label</span><span class="pun">:</span><span class="pln"> POSITIVE</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">with</span><span class="pln"> score</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0.9998</span><span class="pln">
label</span><span class="pun">:</span><span class="pln"> NEGATIVE</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">with</span><span class="pln"> score</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0.5309</span></pre>

<p>
	يمكن لخط الأنابيب أيضًا التعامل مع مجموعة بيانات كاملة dataset بدلًا من بضع مدخلات فقط، كما في المثال التالي الذي يبين استخدام pipeline()‎ لمهمة التعرّف على الكلام "automatic-speech-recognition":
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_12" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">import</span><span class="pln"> torch
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> pipeline

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> speech_recognizer </span><span class="pun">=</span><span class="pln"> pipeline</span><span class="pun">(</span><span class="str">"automatic-speech-recognition"</span><span class="pun">,</span><span class="pln"> model</span><span class="pun">=</span><span class="str">"facebook/wav2vec2-base-960h"</span><span class="pun">)</span></pre>

<p>
	وسنُحمّل مجموعة بيانات صوتية audio dataset لنُطَبَّق عليها خط الأنابيب، لتكن مثلًا المجموعة <a href="https://huggingface.co/datasets/PolyAI/minds14" rel="external nofollow">MInDS-14</a> وفق التالي (يمكنك معرفة المزيد عن التعامل مع مجموعات البيانات بمراجعة <a href="https://huggingface.co/docs/datasets/quickstart#audio" rel="external nofollow">القسم الخاص بها</a> على منصة Hugging Face):
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_14" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> datasets </span><span class="kwd">import</span><span class="pln"> load_dataset</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Audio</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> dataset </span><span class="pun">=</span><span class="pln"> load_dataset</span><span class="pun">(</span><span class="str">"PolyAI/minds14"</span><span class="pun">,</span><span class="pln"> name</span><span class="pun">=</span><span class="str">"en-US"</span><span class="pun">,</span><span class="pln"> split</span><span class="pun">=</span><span class="str">"train"</span><span class="pun">)</span></pre>

<p>
	عند التعامل مع الصوتيات ينبغي الانتباه لكون معدّل أخذ العينات sampling rate الخاص بمجموعة البيانات الصوتية MInDS-14 التي حملناها يطابق معدّل أخذ العينات الذي تَدرَّب عليه النموذج <a href="https://huggingface.co/facebook/wav2vec2-base-960h" rel="external nofollow">facebook/wav2vec2-base-960h</a> وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_16" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> dataset </span><span class="pun">=</span><span class="pln"> dataset</span><span class="pun">.</span><span class="pln">cast_column</span><span class="pun">(</span><span class="str">"audio"</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Audio</span><span class="pun">(</span><span class="pln">sampling_rate</span><span class="pun">=</span><span class="pln">speech_recognizer</span><span class="pun">.</span><span class="pln">feature_extractor</span><span class="pun">.</span><span class="pln">sampling_rate</span><span class="pun">))</span></pre>

<p>
	الآن بمجرد استدعاء العمود "audio" وحسب التعليمات التالية ستُحَمَّلْ الملفات الصوتية من مجموعة البيانات ويُعاد أخذ العينات منها resampled تلقائيًا بما يتناسب مع معدّل أخذ العينات في النموذج، ثم ستُشكل مصفوفات الأشكال الموجية الأولية raw waveform arrays من العينات الأربع الأولى وتُمرر بهيئة قائمة إلى خط الأنابيب:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_18" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> result </span><span class="pun">=</span><span class="pln"> speech_recognizer</span><span class="pun">(</span><span class="pln">dataset</span><span class="pun">[:</span><span class="lit">4</span><span class="pun">][</span><span class="str">"audio"</span><span class="pun">])</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">print</span><span class="pun">([</span><span class="pln">d</span><span class="pun">[</span><span class="str">"text"</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">for</span><span class="pln"> d </span><span class="kwd">in</span><span class="pln"> result</span><span class="pun">])</span><span class="pln">
</span><span class="pun">[</span><span class="str">'I WOULD LIKE TO SET UP A JOINT ACCOUNT WITH MY PARTNER HOW DO I PROCEED WITH DOING THAT'</span><span class="pun">,</span><span class="pln"> </span><span class="str">"FONDERING HOW I'D SET UP A JOIN TO HELL T WITH MY WIFE AND WHERE THE AP MIGHT BE"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"I I'D LIKE TOY SET UP A JOINT ACCOUNT WITH MY PARTNER I'M NOT SEEING THE OPTION TO DO IT ON THE APSO I CALLED IN TO GET SOME HELP CAN I JUST DO IT OVER THE PHONE WITH YOU AND GIVE YOU THE INFORMATION OR SHOULD I DO IT IN THE AP AN I'M MISSING SOMETHING UQUETTE HAD PREFERRED TO JUST DO IT OVER THE PHONE OF POSSIBLE THINGS"</span><span class="pun">,</span><span class="pln"> </span><span class="str">'HOW DO I FURN A JOINA COUT'</span><span class="pun">]</span></pre>

<p>
	أما عندما تتعامل مع مجموعات البيانات الكبيرة أي مع المدخلات الكبيرة (مثل التعامل بيانات الكلام speech أو الرؤية vision) فستحتاج مولدًا generator بدلًا من القائمة السابقة لتمرير البيانات إلى خطوط الأنابيب حتى تتحمل جميع المدخلات إلى الذاكرة. يمكنك معرفة المزيد عن الموضوع بالاطلاع على <a href="https://huggingface.co/docs/transformers/main_classes/pipelines" rel="external nofollow">واجهة <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> لخطوط الأنابيب</a>.
</p>

<h3 id="">
	تطبيق عملي ثاني باستخدام نموذج آخر ومُرَمِّز آخر
</h3>

<p>
	تتكيف خطوط الأنابيب مع أي نموذج موجود في <a href="https://huggingface.co/models" rel="external nofollow">مستودع Hugging Face</a>، يعطيك هذا مرونةً كبيرة في حالات الاستخدام المختلفة، لنفترض مثلًا أنك ترغب بتحليل المشاعر في نصوص مكتوبة باللغة الفرنسية، فيمكنك عندها استخدام الوسوم وفلاتر التصفية الموجودة في المستودع لتصل إلى النموذج المناسب لاحتياجك، فإذا جربت البحث عن نماذج تدعم اللغة الفرنسية سيكون نموذج <a href="https://huggingface.co/nlptown/bert-base-multilingual-uncased-sentiment" rel="external nofollow">BERT model</a> المتعدد اللغات أحد الخيارات واسمه الدقيق هو:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_20" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model_name </span><span class="pun">=</span><span class="pln"> </span><span class="str">"nlptown/bert-base-multilingual-uncased-sentiment"</span></pre>

<p>
	إذا كنت تعتمد <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">إطار العمل Pytorch</a>، فاستخدم الصنف التلقائي <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.AutoModelForSequenceClassification" rel="external nofollow">AutoModelForSequenceClassification</a> الذي يناسب تصنيف النصوص، والمُرمِّز التلقائي <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.AutoTokenizer" rel="external nofollow">AutoTokenizer</a> من أجل تحميل النموذج المدرب مسبقًا الذي حددناه والمُرمِّز المرتبط به وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_22" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">,</span><span class="pln"> </span><span class="typ">AutoModelForSequenceClassification</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">)</span></pre>

<p>
	أما إذا كنت تعتمد الإطار TensorFlow، فإن الصنف التلقائي الخاص بتحميل النموذج عندها سيكون <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.TFAutoModelForSequenceClassification" rel="external nofollow">TFAutoModelForSequenceClassification</a> والمُرمِّز المناسب هو <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.AutoTokenizer" rel="external nofollow">AutoTokenizer</a> كما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_24" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">,</span><span class="pln"> </span><span class="typ">TFAutoModelForSequenceClassification</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">TFAutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">)</span></pre>

<p>
	والآن لنطبق المُصَنِف <code>classifier</code> على النص الذي نود تحليل المشاعر ضمنه بعد كتابة النموذج والمُرمِّز اللذين اخترناهما ضمن محددات خط الأنابيب ()pipeline وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_26" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> classifier </span><span class="pun">=</span><span class="pln"> pipeline</span><span class="pun">(</span><span class="str">"sentiment-analysis"</span><span class="pun">,</span><span class="pln"> model</span><span class="pun">=</span><span class="pln">model</span><span class="pun">,</span><span class="pln"> tokenizer</span><span class="pun">=</span><span class="pln">tokenizer</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> classifier</span><span class="pun">(</span><span class="str">"Nous sommes très heureux de vous présenter la bibliothèque <span class="ipsEmoji">?</span> Transformers."</span><span class="pun">)</span><span class="pln">
</span><span class="pun">[{</span><span class="str">'label'</span><span class="pun">:</span><span class="pln"> </span><span class="str">'5 stars'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'score'</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0.7273</span><span class="pun">}]</span></pre>

<p>
	إذا لم تجد نموذجًا جاهزًا يناسب مشروعك في مستودع المنصة فينبغي لك إعادة تدريب أحد النماذج المدربة مسبقًا على بياناتك، يمكنك الاطلاع على مقال [تدريب نموذج مُعدّ مسبقًا على بيانات محددة]() من هذه السلسلة لمساعدتك بالمهمة، وتستطيع بعدها مشاركة النموذج على منصة Hagging Face باتباع الخطوات الواردة في مقال [مشاركة النماذج على منصة Hagging Face]().
</p>

<h2 id="autoclass">
	الصنف التلقائي AutoClass
</h2>

<p>
	الأصناف التلقائية في حقيقة الأمر هي صاحبة الدور الرئيسي في تشغيل خطوط الأنابيب ()pipeline كما في مثالنا السابق عندما استخدمنا الصنفين التلقائيين AutoModelForSequenceClassification و AutoTokenizer، وإذا أردنا تعريف الصنف التلقائي AutoClass فهو اختصار يُرجع للمستخدم بنية النموذج الذي زوده باسمه أو مساره تلقائيًا، لذا فكل ما عليك فعله هو اختيار الصنف التلقائي AutoClass وصنف المعالج المُسبق preprocessing class المناسبين لمشروعك.
</p>

<p>
	لنرجع للمثال السابق ونحاول استخدام <code>Autocalss</code> للحصول على النتائج من خطوط الأنابيب.
</p>

<h3 id="autotokenizer">
	المُرمِّز التلقائي AutoTokenizer
</h3>

<p>
	المُرمِّز هو المسؤول عن المعالجة التحضيرية للنص ليتحول إلى مصفوفة من الأعداد تكون بمثابة المدخلات للنموذج. وتخضع عملية الترميز لمجموعة قواعد مثل كيفية تقسيم split الكلمة وعلى أي مستوى تُقسّم الكلمات وغير ذلك (يمكنك معرفة المزيد عن الموضوع بمطالعة <a href="https://huggingface.co/docs/transformers/tokenizer_summary" rel="external nofollow">ملخص المُرمِّزات</a>)، وتذكر دائمًا أن عليك إنشاء مثيل للمُرمِّز باسم النموذج نفسه للتأكد أنك تستخدم قواعد الترميز نفسها التي تدرب عليها النموذج مسبقًا.
</p>

<p>
	يتضمن الأمر التالي طريقة تحميل المُرَمِّز باستخدام AutoTokenizer:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_28" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model_name </span><span class="pun">=</span><span class="pln"> </span><span class="str">"nlptown/bert-base-multilingual-uncased-sentiment"</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">)</span></pre>

<p>
	والآن يمكنك تمرير النص الذي تريد ترميزه للمُرَمِّز وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_30" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> encoding </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">(</span><span class="str">"We are very happy to show you the <span class="ipsEmoji">?</span> Transformers library."</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">encoding</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="str">'input_ids'</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="lit">101</span><span class="pun">,</span><span class="pln"> </span><span class="lit">11312</span><span class="pun">,</span><span class="pln"> </span><span class="lit">10320</span><span class="pun">,</span><span class="pln"> </span><span class="lit">12495</span><span class="pun">,</span><span class="pln"> </span><span class="lit">19308</span><span class="pun">,</span><span class="pln"> </span><span class="lit">10114</span><span class="pun">,</span><span class="pln"> </span><span class="lit">11391</span><span class="pun">,</span><span class="pln"> </span><span class="lit">10855</span><span class="pun">,</span><span class="pln"> </span><span class="lit">10103</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100</span><span class="pun">,</span><span class="pln"> </span><span class="lit">58263</span><span class="pun">,</span><span class="pln"> </span><span class="lit">13299</span><span class="pun">,</span><span class="pln"> </span><span class="lit">119</span><span class="pun">,</span><span class="pln"> </span><span class="lit">102</span><span class="pun">],</span><span class="pln">
 </span><span class="str">'token_type_ids'</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">],</span><span class="pln">
 </span><span class="str">'attention_mask'</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">]}</span></pre>

<p>
	يُرجع المُرَمِّز قاموسًا يتضمن:
</p>

<ul>
	<li>
		<p>
			<strong><a href="https://huggingface.co/docs/transformers/glossary#input-ids" rel="external nofollow">input_ids</a></strong>: تمثيلات عددية للرموز tokens.
		</p>
	</li>
	<li>
		<p>
			<strong><a href="https://huggingface.co/docs/transformers/glossary#attention-mask" rel="external nofollow">attention_mask</a></strong>: تبين أي الرموز تقابل أجزاء النص المهمة التي ينبغي الانتباه لها والأخذ بها وأيُّها لا.
		</p>
	</li>
</ul>

<p>
	يتيح المُرَمِّز أيضًا إمكانية التعامل مع قائمة بالمدخلات inputs بدلًا من مدخل واحد، وإجراء عمليات الحشو والاقتطاع لزيادة أو إنقاص طول السلاسل النصية المدخلة للوصول إلى دفعات batches أو قطع بطول موحد.
</p>

<p>
	وذلك وفق التالي في Pytorch:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_32" style=""><span class="pln">pt_batch </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">(</span><span class="pln">
    </span><span class="pun">[</span><span class="str">"We are very happy to show you the <span class="ipsEmoji">?</span> Transformers library."</span><span class="pun">,</span><span class="pln"> </span><span class="str">"We hope you don't hate it."</span><span class="pun">],</span><span class="pln">
    padding</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln">
    truncation</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln">
    max_length</span><span class="pun">=</span><span class="lit">512</span><span class="pun">,</span><span class="pln">
    return_tensors</span><span class="pun">=</span><span class="str">"pt"</span><span class="pun">,</span><span class="pln">
</span><span class="pun">)</span></pre>

<p>
	وفي TensorFlow:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_34" style=""><span class="pln">tf_batch </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">(</span><span class="pln">
    </span><span class="pun">[</span><span class="str">"We are very happy to show you the <span class="ipsEmoji">?</span> Transformers library."</span><span class="pun">,</span><span class="pln"> </span><span class="str">"We hope you don't hate it."</span><span class="pun">],</span><span class="pln">
    padding</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln">
    truncation</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln">
    max_length</span><span class="pun">=</span><span class="lit">512</span><span class="pun">,</span><span class="pln">
    return_tensors</span><span class="pun">=</span><span class="str">"tf"</span><span class="pun">,</span><span class="pln">
</span><span class="pun">)</span></pre>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="">
		<div class="ipsQuote_citation">
			اقتباس
		</div>

		<blockquote class="ipsQuote" data-ipsquote="">
			<div class="ipsQuote_citation">
				اقتباس
			</div>

			<p>
				ننصحك بمطالعة مقال [المعالجات Preprocess]() من هذه السلسلة المنشورة تحت وسم <a href="https://academy.hsoub.com/tags/huggingface/" rel="">huggingface</a>على أكاديمية حسوب لمعرفة المزيد عن معالجة الأنواع المختلفة من المدخلات مثل: الصوت والصورة والأنماط المتعددة.
			</p>
		</blockquote>
	</blockquote>
</blockquote>

<h3 id="automodel">
	النموذج التلقائي AutoModel
</h3>

<p>
	توفر مكتبة المحولات Transformers طريقةً سهلة وموحدة لتحميل مثيلات النماذج المدربة مسبقًا، تشبه طريقة استخدام AutoTokenizer الذي تعاملنا معه سابقًا لكن عليك هنا تحديد <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.AutoModel" rel="external nofollow">AutoModel</a> المناسب للمهمة التي تنفذها، مثل <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.AutoModelForSequenceClassification" rel="external nofollow">AutoModelForSequenceClassification</a> الملائم لتصنيف النصوص في إطار العمل Pytorch:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_36" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoModelForSequenceClassification</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model_name </span><span class="pun">=</span><span class="pln"> </span><span class="str">"nlptown/bert-base-multilingual-uncased-sentiment"</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> pt_model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">)</span></pre>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="">
		<div class="ipsQuote_citation">
			اقتباس
		</div>

		<blockquote class="ipsQuote" data-ipsquote="">
			<div class="ipsQuote_citation">
				اقتباس
			</div>

			<p>
				يمكنك الاطلاع على كافة المهام المدعومة من AutoModel باستعراض <a href="https://huggingface.co/docs/transformers/task_summary" rel="external nofollow">ملخص المهام</a> على منصة Hugging Face.
			</p>
		</blockquote>
	</blockquote>
</blockquote>

<p>
	لنمرر الآن قاموس الدفعات أو قطع المدخلات <code>pt_batch</code> التي عالجناها قبل قليل إلى النموذج التلقائي AutoModel لكن بعد فك ضغطه unpack بإضافة رمز النجمتين ** وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_38" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> pt_outputs </span><span class="pun">=</span><span class="pln"> pt_model</span><span class="pun">(**</span><span class="pln">pt_batch</span><span class="pun">)</span></pre>

<p>
	يضع النموذج المخرجات النهائية التي تنتج بعد كل التنشيطات activations في السمة <code>logits</code>، ثم نطبق الدالة <code>softmax</code> على السمة <code>logits</code> للحصول على الاحتمالات المتنبأ بها وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_40" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> torch </span><span class="kwd">import</span><span class="pln"> nn

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> pt_predictions </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="pln">functional</span><span class="pun">.</span><span class="pln">softmax</span><span class="pun">(</span><span class="pln">pt_outputs</span><span class="pun">.</span><span class="pln">logits</span><span class="pun">,</span><span class="pln"> dim</span><span class="pun">=-</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">pt_predictions</span><span class="pun">)</span><span class="pln">
tensor</span><span class="pun">([[</span><span class="lit">0.0021</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.0018</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.0115</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.2121</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.7725</span><span class="pun">],</span><span class="pln">
        </span><span class="pun">[</span><span class="lit">0.2084</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.1826</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.1969</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.1755</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.2365</span><span class="pun">]],</span><span class="pln"> grad_fn</span><span class="pun">=&lt;</span><span class="typ">SoftmaxBackward0</span><span class="pun">&gt;)</span></pre>

<p>
	أما في حالة استخدامك لإطار العمل TensorFlow فإن النموذج التلقائي سيُسمى عندها <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.TFAutoModel" rel="external nofollow">TFAutoModel</a> ويمكنك استخدامه بالطريقة نفسها التي تُحمّل بها AutoTokenizer، وأيضًا عليك هنا تحديد النموذج التلقائي TFAutoModel المناسب لمشروعك، في مثالنا سنستخدم <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.TFAutoModelForSequenceClassification" rel="external nofollow">TFAutoModelForSequenceClassification</a> لأنه مخصص لتصنيف النصوص:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_42" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">TFAutoModelForSequenceClassification</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model_name </span><span class="pun">=</span><span class="pln"> </span><span class="str">"nlptown/bert-base-multilingual-uncased-sentiment"</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">TFAutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">)</span></pre>

<p>
	مرر الآن مصفوفة tensors التي تتضمن قطع المدخلات التي عالجناها سابقًا إلى النموذج كما هي (أي بدون الرمز ** مثل ما فعلنا في تعليمات Pytorch):
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_44" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_outputs </span><span class="pun">=</span><span class="pln"> tf_model</span><span class="pun">(</span><span class="pln">tf_batch</span><span class="pun">)</span></pre>

<p>
	ثم نطبق الدالة <code>softmax</code> على مخرجات النموذج النهائية الموجودة في السمة <code>logits</code> وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_46" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">import</span><span class="pln"> tensorflow </span><span class="kwd">as</span><span class="pln"> tf

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_predictions </span><span class="pun">=</span><span class="pln"> tf</span><span class="pun">.</span><span class="pln">nn</span><span class="pun">.</span><span class="pln">softmax</span><span class="pun">(</span><span class="pln">tf_outputs</span><span class="pun">.</span><span class="pln">logits</span><span class="pun">,</span><span class="pln"> axis</span><span class="pun">=-</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_predictions</span></pre>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="">
		<div class="ipsQuote_citation">
			اقتباس
		</div>

		<p>
			تعطي جميع نماذج المكتبة Transformers (سواء كانت متوافقة مع PyTorch أو TensorFlow) مخرجاتها أي tensors قبل دالة التنشيط activation function الأخيرة (مثل دالة softmax) التي غالبًا ما تُدمج مع خطوة حساب الخسارة loss، ومخرجات النماذج هي أصناف بيانات خاصة تكون بهيئة مجموعة tuple أو قاموس dictionary تستطيع فهرستها بعدد صحيح أو شريحة slice أو سلسلة نصية، ويمكنك إكمال سماتها attributes تلقائيًا في بيئة التطوير IDE وتجاهل السمات معدومة القيمة.
		</p>
	</blockquote>
</blockquote>

<h3 id="-1">
	حفظ النموذج
</h3>

<p>
	يمكنك حفظ النموذج مع المُرَمِّز الخاص به بعد الانتهاء من تدريبه على بيانات مشروعك باستخدام <code>PreTrainedModel.save_pretrained()‎</code> في إطار العمل Pytorch وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_48" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> pt_save_directory </span><span class="pun">=</span><span class="pln"> </span><span class="str">"./pt_save_pretrained"</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">save_pretrained</span><span class="pun">(</span><span class="pln">pt_save_directory</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> pt_model</span><span class="pun">.</span><span class="pln">save_pretrained</span><span class="pun">(</span><span class="pln">pt_save_directory</span><span class="pun">)</span></pre>

<p>
	وعندما تحتاجه مجددًا تستطيع تحميله بواسطة <code>PreTrainedModel.from_pretrained()‎</code> كما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_50" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> pt_model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"./pt_save_pretrained"</span><span class="pun">)</span></pre>

<p>
	أما في إطار العمل TensorFlow فيمكنك حفظ النموذج باستخدام <code>TFPreTrainedModel.save_pretrained()‎</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_52" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_save_directory </span><span class="pun">=</span><span class="pln"> </span><span class="str">"./tf_save_pretrained"</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">save_pretrained</span><span class="pun">(</span><span class="pln">tf_save_directory</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_model</span><span class="pun">.</span><span class="pln">save_pretrained</span><span class="pun">(</span><span class="pln">tf_save_directory</span><span class="pun">)</span></pre>

<p>
	وعندما تريد استخدامه ثانيةً استعمل <code>TFPreTrainedModel.from_pretrained()‎</code> وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_54" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">TFAutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"./tf_save_pretrained"</span><span class="pun">)</span></pre>

<p>
	تُعدّ ميزة تحويل النماذج من PyTorch إلى TensorFlow وبالعكس واحدة من أبرز مميزات المكتبة Transormers، وذلك باستخدام المعاملين <code>from_pt</code> و <code>from_tf</code> فيمكنك حفظ النموذج ثم تحميله بالصيغة المناسبة لإطار العمل الذي تفضله، وهذا مثال عملي:
</p>

<p>
	أولًا إطار العمل PyTorch:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_56" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoModel</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">tf_save_directory</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> pt_model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">tf_save_directory</span><span class="pun">,</span><span class="pln"> from_tf</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span></pre>

<p>
	ثانيًا إطار العمل TensorFlow:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_58" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">TFAutoModel</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">pt_save_directory</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">TFAutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">pt_save_directory</span><span class="pun">,</span><span class="pln"> from_pt</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span></pre>

<h2 id="-2">
	بناء نموذج تعلّم آلي مخصص
</h2>

<p>
	يمكنك بناء نموذج مخصص لحالتك بتعديل صنف إعدادات النموذج configuration class وتحديد السمات التي تريدها، مثل: عدد الطبقات المخفية hidden layers ورؤوس الانتباه attention heads، فعندما تبني نموذجك من الصفر استنادًا إلى صنف إعدادات مخصص فإن سمات النموذج ستأخذ في البداية محددات عشوائية ويمكنك ضبطها فيما وتحقيق الاستفادة المتوقعة منه بعد بتدريب النموذج على البيانات المناسبة لمشروعك.
</p>

<p>
	لنبدأ بالتطبيق العملي: سنستدعي أولًا الصنف <a href="https://huggingface.co/docs/transformers/v4.38.1/en/model_doc/auto#transformers.AutoConfig" rel="external nofollow">AutoConfig</a> ثم نُحمّل النموذج المُعدّ مسبقًا الذي نريد تخصيصه حسب حالتنا، ونذكر السمة التي نود تعديلها ضمن الدالة <code>AutoConfig.from_pretrained()‎</code> كما في المثال التالي الذي يبين طريقة تغيير سمة رؤوس الانتباه:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_60" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoConfig</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> my_config </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoConfig</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"distilbert/distilbert-base-uncased"</span><span class="pun">,</span><span class="pln"> n_heads</span><span class="pun">=</span><span class="lit">12</span><span class="pun">)</span></pre>

<p>
	والخطوة التالية هي بناء النموذج انطلاقًا من الإعدادات المخصصة التي ضبطناها أعلاه وباستخدام <code>AutoModel.from_config()‎</code> في Pytorch، و <code>TFAutoModel.from_config()‎</code> في TensorFlow.
</p>

<p>
	إذا كنت تستخدم إطار العمل Pytorch فيمكنك تنفيذها وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_62" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoModel</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> my_model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoModel</span><span class="pun">.</span><span class="pln">from_config</span><span class="pun">(</span><span class="pln">my_config</span><span class="pun">)</span></pre>

<p>
	وإذا كنت تعتمد TensorFlow وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_64" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">TFAutoModel</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> my_model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">TFAutoModel</span><span class="pun">.</span><span class="pln">from_config</span><span class="pun">(</span><span class="pln">my_config</span><span class="pun">)</span></pre>

<h2 id="trainerpytorch">
	المُدَرِّبْ Trainer- حلقة التدريب المحسنة في PyTorch
</h2>

<p>
	جميع نماذج مكتبة المحولات Transformers المتوافقة مع PyTorch هي نماذج torch.nn.Module قياسية، يمكنك استخدامها في أي حلقة تدريب training loop نموذجية تريدها؛ يمكنك أيضًا برمجة حلقة تدريبك الخاصة وفق متطلبات عملك، ومع ذلك توفر لك المكتبة صنفًا خاصًا بتدريب حلقات PyTorch يدعى <strong>صنف المُدَرِّب Trainer class</strong> ويتضمن حلقة التدريب الاعتيادية ووظائف إضافية أخرى مثل: التدريب الموزع distributed training والتدريب مختلط الدقة mixed precision وغيرها.
</p>

<p>
	وفي أثناء العمل ستمرر <a href="https://huggingface.co/docs/transformers/v4.38.1/en/main_classes/trainer#transformers.Trainer" rel="external nofollow">للمُدَرِّب</a> عدة وسطاء حسب احتياجات مشروعك، لنبدأ بالخطوات العملية:
</p>

<p>
	1. حمّل في البداية نموذجًا قياسيًا:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_66" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoModelForSequenceClassification</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"distilbert/distilbert-base-uncased"</span><span class="pun">)</span></pre>

<p>
	2. حَدِّدْ قيم <a href="https://huggingface.co/docs/transformers/v4.38.1/en/main_classes/trainer#transformers.TrainingArguments" rel="external nofollow">وسطاء التدريب</a> مثل: معدّل التدريب learning rate، والحجم الموحد لقطع المدخلات التي يعالجها النموذج دفعة واحدة batch size، وعدد دورات التدريب number of epochs أي عدد تكرارات مجموعة البيانات التي سيتدرب عليها النموذج، وإن لم تحدد قيمًّا للوسطاء فستُستخدم القيم الافتراضية:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_68" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">TrainingArguments</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> training_args </span><span class="pun">=</span><span class="pln"> </span><span class="typ">TrainingArguments</span><span class="pun">(</span><span class="pln">
        output_dir</span><span class="pun">=</span><span class="str">"path/to/save/folder/"</span><span class="pun">,</span><span class="pln">
        learning_rate</span><span class="pun">=</span><span class="lit">2e-5</span><span class="pun">,</span><span class="pln">
        per_device_train_batch_size</span><span class="pun">=</span><span class="lit">8</span><span class="pun">,</span><span class="pln">
        per_device_eval_batch_size</span><span class="pun">=</span><span class="lit">8</span><span class="pun">,</span><span class="pln">
        num_train_epochs</span><span class="pun">=</span><span class="lit">2</span><span class="pun">,</span><span class="pln">
</span><span class="pun">)</span></pre>

<p>
	3. حَدِّدْ صنف المعالجة المسبقة الذي تحتاجه، مثل: المُرمِّز tokenizer أو معالج الصور mage processor أو مستخرج المميزات feature extractor أو المعالج processor:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_70" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"distilbert/distilbert-base-uncased"</span><span class="pun">)</span></pre>

<p>
	4. حمّل مجموعة البيانات dataset المناسبة:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_72" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> datasets </span><span class="kwd">import</span><span class="pln"> load_dataset

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> dataset </span><span class="pun">=</span><span class="pln"> load_dataset</span><span class="pun">(</span><span class="str">"rotten_tomatoes"</span><span class="pun">)</span><span class="pln">  </span><span class="com"># doctest: +IGNORE_RESULT</span></pre>

<p>
	5. أنشئ دالة لترميز مجموعة البيانات:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_74" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">def</span><span class="pln"> tokenize_dataset</span><span class="pun">(</span><span class="pln">dataset</span><span class="pun">):</span><span class="pln">
     </span><span class="kwd">return</span><span class="pln"> tokenizer</span><span class="pun">(</span><span class="pln">dataset</span><span class="pun">[</span><span class="str">"text"</span><span class="pun">])</span></pre>

<p>
	ثم طبّقها على كامل مجموعة البيانات باستعمال <code>map</code> وفق التالي:
</p>

<pre class="ipsCode">&gt;&gt;&gt; dataset = dataset.map(tokenize_dataset, batched=True)
</pre>

<p>
	6. استخدم <a href="https://huggingface.co/docs/transformers/v4.38.1/en/main_classes/data_collator#transformers.DataCollatorWithPadding" rel="external nofollow">DataCollatorWithPadding</a> لإنشاء قطع من الأمثلة من مجموعة البيانات:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_76" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">DataCollatorWithPadding</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> data_collator </span><span class="pun">=</span><span class="pln"> </span><span class="typ">DataCollatorWithPadding</span><span class="pun">(</span><span class="pln">tokenizer</span><span class="pun">=</span><span class="pln">tokenizer</span><span class="pun">)</span></pre>

<p>
	والآن اجمع كل هذه الأصناف في شيفرة المُدَرِّب trainer كما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_78" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Trainer</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> trainer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Trainer</span><span class="pun">(</span><span class="pln">
        model</span><span class="pun">=</span><span class="pln">model</span><span class="pun">,</span><span class="pln">
        args</span><span class="pun">=</span><span class="pln">training_args</span><span class="pun">,</span><span class="pln">
        train_dataset</span><span class="pun">=</span><span class="pln">dataset</span><span class="pun">[</span><span class="str">"train"</span><span class="pun">],</span><span class="pln">
        eval_dataset</span><span class="pun">=</span><span class="pln">dataset</span><span class="pun">[</span><span class="str">"test"</span><span class="pun">],</span><span class="pln">
        tokenizer</span><span class="pun">=</span><span class="pln">tokenizer</span><span class="pun">,</span><span class="pln">
        data_collator</span><span class="pun">=</span><span class="pln">data_collator</span><span class="pun">,</span><span class="pln">
     </span><span class="pun">)</span><span class="pln">  </span><span class="com"># doctest: +SKIP</span></pre>

<p>
	وبعد ذلك يمكنك استدعاء المُدَرِّب <code>train()‎</code> ليبدأ عملية التدريب وفق التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_80" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> trainer</span><span class="pun">.</span><span class="pln">train</span><span class="pun">()</span></pre>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<blockquote class="ipsQuote" data-gramm="false" data-ipsquote="">
		<div class="ipsQuote_citation">
			اقتباس
		</div>

		<p>
			اختر ما يناسب مشروعك، فمثلًا في مهام الترجمة وتلخيص النصوص التي تعتمد نموذج سلسلة لسلسلة sequence-to-sequence استخدام المُدَرِّب Seq2SeqTrainer ووسطاء التدريب Seq2SeqTrainingArguments بدلًا من الأصناف المستخدمة أعلاه.
		</p>
	</blockquote>
</blockquote>

<p>
	يمكنك التحكم بسلوك حلقة التدريب بطريقتين: أولًا عبر إنشاء أصناف فرعية subclassing لمنهجيات التدريب المضمنة داخل المُدَرِّب Trainer؛ يساعدك ذلك على تخصيص ميزات مثل: دالة الخسارة loss function، والمُحَسِّن optimizer، والمُجَدّوِل scheduler حسب متطلبات عملك، يمكنك الاطلاع على <a href="https://huggingface.co/docs/transformers/v4.38.1/en/main_classes/trainer#transformers.Trainer" rel="external nofollow">قسم المُدَرِّب من توثيقات Hugging Face</a> لمزيد من المعلومات عن منهجيات التدريب القابلة للتصنيف الفرعي subclassing.
</p>

<p>
	وثانيًا باستخدام <a href="https://huggingface.co/docs/transformers/main_classes/callback" rel="external nofollow">الاستدعاءات Callbacks</a> لتحقيق التكامل مع المكتبات الأخرى ولتفحص عمل حلقة التدريب ومتابعة تقدمها أو إيقاف التدريب في مرحلة معينة، مع العلم أن الاستدعاءات لا تتيح لك إجراء أي تعديل على بنية الحلقة لتخصيص ميزات مثل دالة الخسارة أو غيره فمثل هذه الأعمال محصورة فقط بالطريقة الأولى أي بإنشاء الأصناف الفرعية.
</p>

<h2 id="tensorflow">
	تدريب نموذج في TensorFlow
</h2>

<p>
	جميع نماذج المكتبة المتوافقة مع TensorFlow هي نماذج tf.keras.Model قياسية، يمكنك تدريبها باستخدام واجهة برمجة التطبيقات <a href="https://keras.io/" rel="external nofollow">Keras <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr></a>، وتوفر مكتبة المحولات منهجيةً تدعى <code>prepare_tf_dataset()‎</code> تسهل عليك تحميل مجموعات البيانات التي ستعتمدها بصيغة <code>tf.data.Dataset</code> والشروع بتدريبها باستخدام منهجيات Keras مثل <a href="https://keras.io/api/models/model_training_apis/#compile-method" rel="external nofollow">compile</a> و <a href="https://keras.io/api/models/model_training_apis/#fit-method" rel="external nofollow">fit</a>، لنبدأ بالتطبيق العملي:
</p>

<p>
	1. حمّل نموذجًا قياسيًا:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_82" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">TFAutoModelForSequenceClassification</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">TFAutoModelForSequenceClassification</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"distilbert/distilbert-base-uncased"</span><span class="pun">)</span></pre>

<p>
	2. اختر صنف المعالجة المسبقة الذي تحتاجه، مثل: المُرمِّز tokenizer أو معالج الصور mage processor أو مستخرج المميزات feature extractor أو المعالج processor:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_84" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">AutoTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="str">"distilbert/distilbert-base-uncased"</span><span class="pun">)</span></pre>

<p>
	3. أنشئ دالة لترميز مجموعة البيانات:
</p>

<pre class="ipsCode">&gt;&gt;&gt; def tokenize_dataset(dataset):
       return tokenizer(dataset["text"])  # doctest: +SKIP
</pre>

<ol start="4">
	<li>
		طبّق الترميز على كامل مجموعة البيانات باستعمال <code>map</code>، ثم مرر المُرَمِّز ومجموعة البيانات إلى <code>prepare_tf_dataset()‎</code> وفق التالي، ويمكنك في هذه المرحلة تغيير حجم الدفعات أو قطع المدخلات batch size أو خلط بيانات مجموعة البيانات إذا رغبت بذلك:
	</li>
</ol>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_86" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> dataset </span><span class="pun">=</span><span class="pln"> dataset</span><span class="pun">.</span><span class="pln">map</span><span class="pun">(</span><span class="pln">tokenize_dataset</span><span class="pun">)</span><span class="pln">  </span><span class="com"># doctest: +SKIP</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> tf_dataset </span><span class="pun">=</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">prepare_tf_dataset</span><span class="pun">(</span><span class="pln">
         dataset</span><span class="pun">[</span><span class="str">"train"</span><span class="pun">],</span><span class="pln"> batch_size</span><span class="pun">=</span><span class="lit">16</span><span class="pun">,</span><span class="pln"> shuffle</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln"> tokenizer</span><span class="pun">=</span><span class="pln">tokenizer
     </span><span class="pun">)</span><span class="pln">  </span><span class="com"># doctest: +SKIP</span></pre>

<ol start="5">
	<li>
		استدعِ <code>compile</code> و <code>fit</code> لبدء عملية التدريب، وننوه هنا إلى أن جميع نماذج مكتبة المحولات تتضمن دالة افتراضية لحساب الخسارة تتعلق بطبيعة المهمة التي تعمل عليها، يمكنك الاعتماد عليها افتراضيًا إلّا إذا رغبت بعكس ذلك:
	</li>
</ol>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_7862_88" style=""><span class="pun">&gt;&gt;&gt;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> tensorflow</span><span class="pun">.</span><span class="pln">keras</span><span class="pun">.</span><span class="pln">optimizers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Adam</span><span class="pln">

</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">compile</span><span class="pun">(</span><span class="pln">optimizer</span><span class="pun">=</span><span class="typ">Adam</span><span class="pun">(</span><span class="lit">3e-5</span><span class="pun">))</span><span class="pln">  </span><span class="com"># No loss argument!</span><span class="pln">
</span><span class="pun">&gt;&gt;&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">fit</span><span class="pun">(</span><span class="pln">tf_dataset</span><span class="pun">)</span><span class="pln">  </span><span class="com"># doctest: +SKIP</span></pre>

<h2 id="-3">
	الخلاصة
</h2>

<p>
	وصلنا إلى ختام جولتنا السريعة في مكتبة Transformers، تابع مقالنا القادم <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D9%85%D9%83%D8%AA%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%88%D9%91%D9%84%D8%A7%D8%AA-transformers-r2352/" rel="">تثبيت مكتبة المحولات Transformers</a> لتتعلم كيفية تثبيتها والتعامل معها باستخدام كل من PyTorch و TensorFlow و Flax.
</p>

<p>
	ترجمة -وبتصرف- لقسم <a href="https://huggingface.co/docs/transformers/quicktour" rel="external nofollow">Quick tour</a> من توثيقات Hugging Face.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		المقال السابق: <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D9%83%D8%AA%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%88%D9%91%D9%84%D8%A7%D8%AA-transformers-%D9%85%D9%86-%D9%85%D9%86%D8%B5%D8%A9-hugging-face-r2340/" rel="">تعرف على مكتبة المحوّلات Transformers من منصة Hugging Face</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%81%D8%B6%D9%84-%D8%AF%D9%88%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2332/" rel="">تعرف على أفضل دورات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">تعرف على إطار عمل باي تورش PyTorch وأهميته لتطبيقات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/" rel="">أساسيات الذكاء الاصطناعي: دليل المبتدئين</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2351</guid><pubDate>Tue, 25 Jun 2024 15:02:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x645;&#x643;&#x62A;&#x628;&#x629; &#x627;&#x644;&#x645;&#x62D;&#x648;&#x651;&#x644;&#x627;&#x62A; Transformers &#x645;&#x646; &#x645;&#x646;&#x635;&#x629; Hugging Face</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D9%83%D8%AA%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%AD%D9%88%D9%91%D9%84%D8%A7%D8%AA-transformers-%D9%85%D9%86-%D9%85%D9%86%D8%B5%D8%A9-hugging-face-r2340/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_06/--Transformers---Hugging-Face.png.4c37052c6145d8710c7cb90c9d8c3dff.png" /></p>
<p>
	سنتعرف في هذه السلسلة من المقالات على منصة Hugging Face وهي منصة تفاعلية سهلة الاستخدام للمهتمين بإنشاء تطبيقات الذكاء الاصطناعي وتعلم الآلة، فهي توفر أكثر من 400 ألف نموذج جاهز للاستخدام وتوفر مجموعات بيانات مخصصة لتدريب نماذج جديدة، كما أنها تتيح لك التواصل مع مجتمع ضخم مع المهتمين بتعلم الآلة من جميع أنحاء العالم ومشاركة تجاربك معهم.
</p>

<p>
	سنبدأ السلسلة بالتعرف على أداة برمجية فعالة تعمل على هذه المنصة وهي المكتبة Transformers التي تسهل استخدام نماذج تعلم الآلة الحديثة وتمكنك من أداء عدة مهام متعلقة بالذكاء الاصطناعي، ونتعرف على النماذج المتنوعة التي توفرها هذه المكتبة للتعامل مع النصوص والصور والصوت والوسائط المتعددة كما نستعرض مختلف إطارات العمل البرمجية التي تدعمها وأهم تطبيقاتها.
</p>

<h2 id="transformers">
	ما هي المكتبة Transformers
</h2>

<p>
	مكتبة المحوّلات Transformers هي أحدث تقنيات تعلُّم الآلة المستخدمة مع <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">أطر عمل الذكاء الاصطناعي</a> الشهيرة مثل باي تورش <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">PyTorch</a> وتنسرفلو TensorFlow و JAX، وهي تزود المبرمجين بواجهات برمجة تطبيقات <a href="https://academy.hsoub.com/apps/web/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-chatgpt-api-%D9%84%D8%AA%D8%AD%D8%B3%D9%8A%D9%86-%D8%AE%D8%AF%D9%85%D8%A7%D8%AA%D9%83-%D8%B9%D8%A8%D8%B1-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r909/" rel="">APIs</a> وأدوات مساعدة تُسهّل عليهم تحميل أحدث نماذج تعلم الآلة المدربة مسبقًا pretrained models وإعادة تدريبها.
</p>

<p>
	وتوفر هذه النماذج المدربة مسبقًا وقتك وجهدك فلن تحتاج لجمع البيانات، وتنظيفها، وتحضيرها، ولا لتشغيل عمليات التدريب والتحسين بل يمكنك استخدام النموذج مباشرة في تطبيقك، كما توفر أيضًا الموارد وعمليات الحوسبة وحتى استهلاك الطاقة الذي تحتاجه لتدريب نماذج جديدة من الصفر، وتخدمك في العديد من <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مجالات الذكاء الاصطناعي</a> وإليك أهما:
</p>

<ul>
	<li>
		<p>
			<strong>مجال معالجة اللغة الطبيعية Natural Language Processing</strong>: ومن أهم تطبيقاته تصنيف النصوص text classification، والتعرّف على الكائنات المسماة named entity recognition، والإجابة على الأسئلة question answering، والاختيار من متعدد multiple choice، ونمذجة اللغة language modeling، <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D9%84%D8%AE%D9%8A%D8%B5-%D8%A7%D9%84%D9%86%D8%B5%D9%88%D8%B5-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2315/" rel="">والتلخيص summarization</a>، والترجمة translation، وتوليد النص text generation.
		</p>
	</li>
	<li>
		<p>
			<strong>مجال الرؤية الحاسوبية Computer Vision</strong>: تستخدم الرؤية الحاسوبية في مشاريع عديدة مثل: تصنيف الصور image classification، والتعرّف على الكائنات object detection، وتجزئة الصور segmentation بناءً على خصائص محددة وغير ذلك.
		</p>
	</li>
	<li>
		<p>
			<strong>مجال الصوتيات Audio</strong>: ومن أهم تطبيقاته التعرّف التلقائي على الكلام automatic speech recognition، وتصنيف المقاطع الصوتية audio classification.
		</p>
	</li>
	<li>
		<p>
			<strong>مجال الأنماط المتعددة Multimodal</strong>: يقصد به التعامل مع أنواع متعددة من المُدخَلات ومن أمثلتها الإجابة على الأسئلة الموجودة ضمن جدول معين table question answering، والتعرّف البصري على الحروف optical character recognition، واستخراج المعلومات من المستندات الممسوحة ضوئيًا، وتصنيف مقاطع الفيديو video classification، والإجابة على الأسئلة مرئيًا visual question answering أي الإجابة على أسئلة حول الصور.
		</p>
	</li>
</ul>

<p>
	وتدعم مكتبة المحولات التشغيل البيني framework interoperability لأطر العمل الثلاثة PyTorch و TensorFlow و JAX أي أن بإمكانك جمعها في مشروع واحد بمرونة تامة، فهي تتيح لك استخدام إطار عمل مختلف في كل مرحلة من مراحل بناء النموذج؛ تستطيع مثلًا تدريب النموذج بإطار عمل معين، ثم استخدام إطار آخر في مرحلة الاستدلال inference وهكذا، يمكنك أيضًا تصدير نماذج الآلي بصيغ مثل: ONNX و TorchScript لنشرها في بيئات الإنتاج.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="487" id="ips_uid_3845_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ماذا يعني تعلم الآلة Machine Learning؟" width="866" data-embed-src="https://www.youtube.com/embed/7up0GP1Y8aM"></iframe>
</p>

<h2 id="">
	النماذج التي يدعمها كل إطار عمل
</h2>

<p>
	يبين الجدول التالي نماذج المكتبة التي يدعمها كل إطار عمل من الأطر التالية PyTorch و TensorFlow و JAX حتى تاريخ ترجمة هذا المقال، سواء كانت مميزة بمُرمِز tokenizer بايثون بطيء"slow" أو سريع "fast".
</p>

<table>
	<thead>
		<tr>
			<th>
				النموذج
			</th>
			<th>
				توافقيته مع PyTorch؟
			</th>
			<th>
				توافقيته مع TensorFlow؟
			</th>
			<th>
				توافقيته مع JAX؟
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				ALBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				ALIGN
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				AltCLIP
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Audio Spectrogram Transformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Autoformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Bark
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				BART
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BARThez
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BARTpho
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BEiT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Bert Generation
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				BertJapanese
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BERTweet
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BigBird
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BigBird-Pegasus
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				BioGpt
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				BiT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Blenderbot
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BlenderbotSmall
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BLIP
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				BLIP-2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				BLOOM
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BORT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				BridgeTower
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				BROS
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ByT5
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				CamemBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CANINE
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Chinese-CLIP
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CLAP
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CLIP
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				CLIPSeg
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CLVP
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CodeGen
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CodeLlama
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Conditional DETR
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ConvBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ConvNeXT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ConvNeXTV2
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CPM
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				CPM-Ant
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CTRL
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				CvT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Data2VecAudio
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Data2VecText
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Data2VecVision
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DeBERTa
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DeBERTa-v2
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Decision Transformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Deformable DETR
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DeiT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DePlot
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Depth Anything
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DETA
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DETR
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DialoGPT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				DiNAT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DINOv2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DistilBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				DiT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				DonutSwin
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DPR
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				DPT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				EfficientFormer
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				EfficientNet
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ELECTRA
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				EnCodec
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Encoder decoder
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				ERNIE
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ErnieM
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ESM
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				FairSeq Machine-Translation
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Falcon
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				FastSpeech2Conformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				FLAN-T5
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				FLAN-UL2
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				FlauBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				FLAVA
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				FNet
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				FocalNet
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Funnel Transformer
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Fuyu
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Gemma
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				GIT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				GLPN
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				GPT Neo
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				GPT NeoX
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				GPT NeoX Japanese
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				GPT-J
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				GPT-Sw3
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				GPTBigCode
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				GPTSAN-japanese
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Graphormer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				GroupViT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				HerBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Hubert
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				I-BERT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				IDEFICS
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ImageGPT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Informer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				InstructBLIP
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Jukebox
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				KOSMOS-2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LayoutLM
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LayoutLMv2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LayoutLMv3
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LayoutXLM
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LED
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LeViT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LiLT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LLaMA
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Llama2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				LLaVa
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Longformer
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LongT5
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				LUKE
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				LXMERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				M-CTC-T
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				M2M100
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MADLAD-400
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Marian
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				MarkupLM
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Mask2Former
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MaskFormer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MatCha
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				mBART
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				mBART-50
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				MEGA
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Megatron-BERT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Megatron-GPT2
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				MGP-STR
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Mistral
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Mixtral
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				mLUKE
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MMS
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				MobileBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MobileNetV1
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MobileNetV2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MobileViT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MobileViTV2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MPNet
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MPT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MRA
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				MT5
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				MusicGen
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				<abbr title="Minimum Viable Product | المنتج الفعال القاعدي"><abbr title="Minimum Viable Product | المنتج الفعال القاعدي">MVP</abbr></abbr>
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				NAT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Nezha
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				NLLB
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				NLLB-MOE
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Nougat
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Nyströmformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				OneFormer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				OpenAI GPT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				OpenAI GPT-2
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				OpenLlama
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				OPT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				OWL-ViT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				OWLv2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				PatchTSMixer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				PatchTST
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Pegasus
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				PEGASUS-X
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Perceiver
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Persimmon
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Phi
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				PhoBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Pix2Struct
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				PLBart
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				PoolFormer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Pop2Piano
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ProphetNet
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				PVT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				QDQBert
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Qwen2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				RAG
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				REALM
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Reformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				RegNet
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				RemBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ResNet
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				RetriBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				RoBERTa
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				RoBERTa-PreLayerNorm
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				RoCBert
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				RoFormer
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				RWKV
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SAM
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SeamlessM4T
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SeamlessM4Tv2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SegFormer
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SEW
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SEW-D
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SigLIP
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Speech Encoder decoder
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Speech2Text
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SpeechT5
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Splinter
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SqueezeBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				StableLm
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SwiftFormer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Swin Transformer
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Swin Transformer V2
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Swin2SR
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				SwitchTransformers
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				T5
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				T5v1.1
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Table Transformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				TAPAS
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				TAPEX
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Time Series Transformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				TimeSformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Trajectory Transformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Transformer-XL
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				TrOCR
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				TVLT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				TVP
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				UL2
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				UMT5
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				UniSpeech
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				UniSpeechSat
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				UnivNet
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				UPerNet
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				VAN
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				VideoMAE
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ViLT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				VipLlava
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Vision Encoder decoder
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				VisionTextDualEncoder
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				VisualBERT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ViT
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				ViT Hybrid
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				VitDet
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ViTMAE
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ViTMatte
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ViTMSN
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				VITS
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				ViViT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Wav2Vec2
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				Wav2Vec2-BERT
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Wav2Vec2-Conformer
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Wav2Vec2Phoneme
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				WavLM
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				Whisper
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				X-CLIP
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				X-MOD
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				XGLM
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				XLM
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				XLM-ProphetNet
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				XLM-RoBERTa
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				XLM-RoBERTa-XL
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				XLM-V
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				XLNet
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				XLS-R
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				XLSR-Wav2Vec2
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
			<td>
				نعم
			</td>
		</tr>
		<tr>
			<td>
				YOLOS
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
		<tr>
			<td>
				YOSO
			</td>
			<td>
				نعم
			</td>
			<td>
				لا
			</td>
			<td>
				لا
			</td>
		</tr>
	</tbody>
</table>

<h2>
	الخلاصة
</h2>

<p>
	تعرفنا في مقال اليوم على منصة Hugging Face التفاعلية التي تقدم نماذج مدربة جاهزة ومجموعات بيانات للتدريب تسرع عملية تطوير تطبيقات الذكاء الاصطناعي وتعلم الآلة وتعرفنا على المجالات المختلفة التي يمكن تطبيق الذكاء الاصطناعي فيها باستخدام هذه المكتبة كما استعرضنا أطر العمل المختلفة التي توفرها لبناء النماذج.
</p>

<p>
	ترجمة -وبتصرف- لقسم <a href="https://huggingface.co/docs/transformers/index" rel="external nofollow">Transformers</a> من توثيقات Hugging Face.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مكتبات وأطر عمل الذكاء الاصطناعي: القوة الكامنة خلف الأنظمة الذكية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D9%84%D8%AE%D9%8A%D8%B5-%D8%A7%D9%84%D9%86%D8%B5%D9%88%D8%B5-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2315/" rel="">تلخيص النصوص باستخدام الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D8%B3%D8%A3%D9%84-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A3%D8%B3%D8%A6%D9%84%D8%A9-%D8%B4%D8%A7%D8%A6%D8%B9%D8%A9-%D8%AD%D9%88%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2313/" rel="">أسئلة شائعة حول الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A7%D9%84%D9%86%D9%85%D8%A7%D8%B0%D8%AC-%D8%A7%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF%D9%8A%D9%91%D8%A9-generative-models-%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF-%D8%A7%D9%84%D8%B5%D9%88%D8%B1-r2240/" rel="">استخدام النماذج التوليديّة Generative models لتوليد الصور</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2340</guid><pubDate>Thu, 06 Jun 2024 12:00:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x623;&#x641;&#x636;&#x644; &#x62F;&#x648;&#x631;&#x627;&#x62A; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%81%D8%B6%D9%84-%D8%AF%D9%88%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2332/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_06/-----.png.adbb27f2133fe882fc199b14bd5754fb.png" /></p>
<p>
	ازداد الاهتمام بمجال الذكاء الاصطناعي بشكل كبير في السنوات الأخيرة، وبات من الضروري تعلم أساسيات الذكاء الاصطناعي لمعظم المهتمين بالعمل ليس فقط في المجالات التقنية بل في العديد من المجالات الأخرى التي اصبحت تعتمد بشكل متزايد على الذكاء الاصطناعي. وبعد أن ظهر تطبيق المحادثة الشهير ChatGPT في شهر نوفمبر سنة 2022، انتقل مفهوم الذكاء الاصطناعي من المتخصصين إلى عامة الناس وصاروا يبحثون عن مصادر لتعلّم وإتقان هذا المجال. سنعرض فيما يلي أهمية دراسة الذكاء الاصطناعي وطرق دراسته المختلفة سواء الأكاديمية عن طريقة الجامعات المتخصصة أو الذاتية عن طريق كتب ودورس ودروات الذكاء الاصطناعي ومصادر التعلم الأخرى، كما سنركز على أفضل دورات الذكاء الاصطناعي للمبتدئين ونبيِّن مميزات كل دورة منها.
</p>

<h2 id="-1">
	ما أهمية دراسة الذكاء الاصطناعي؟
</h2>

<p>
	لاشك أن تعلم الذكاء الاصطناعي أمر ضروري في عصر التطور التقني الذي نشهده اليوم في شتى المجالات، فهو يعزز التقدم التكنولوجي ويفتح أبواباً جديدة للابتكار ويساعدنا على تطوير تطبيقات وأنظمة تساهم في حل مشاكلنا المعقدة بفعالية وكفاءة سواء في مجال التقنية او الطب أو الصناعة أو التعليم وغيرها من مجالات العمل. فقد أشار <a href="https://newsroom.ibm.com/2024-01-10-Data-Suggests-Growth-in-Enterprise-Adoption-of-AI-is-Due-to-Widespread-Deployment-by-Early-Adopters#:~:text=%2D%20About%2042%25%20of,in%20the%20technology." rel="external nofollow">تقرير لشركة IBM</a> إلى أن 42% من الشركات حول العالم اعتمدت الذكاء الاصطناعي في أعمالها إلى حد الآن، وأشارت إحصائيات أخرى إلى <a href="https://www.mckinsey.com/featured-insights/future-of-work/retraining-and-reskilling-workers-in-the-age-of-automation#:~:text=as%20many%20as%20375%20million%20workers%E2%80%94or%20roughly%2014%20percent%20of%20the%20global%20workforce%E2%80%94may%20need%20to%20switch%20occupational%20categories%20as%20digitization%2C%20automation%2C%20and%20advances%20in%20artificial%20intelligence%20disrupt%20the%20world%20of%20work." rel="external nofollow">أن 375 من الأشخاص</a> قد يُغيِّرون تخصصاتهم المهنية بحلول عام 2030، كما أنه من المتوقع أن يساهم الذكاء الاصطناعي في الاقتصاد العالمي ب <a href="https://www.pwc.com/gx/en/issues/data-and-analytics/publications/artificial-intelligence-study.html#:~:text=%2415.7%20trillion%20game,economy%20in%202030%2C" rel="external nofollow">15.7 تريليون</a> دولار بحلول عام 2030.
</p>

<p>
	ويمكن القول بأن أهمية الذكاء الاصطناعي وتعلم الآلة تكمن في النقاط التالية:
</p>

<ul>
	<li>
		مستقبل مهني مشرق: يزداد عدد الشركات التي أدمجت الذكاء الاصطناعي في أعمالها يوما بعد يوم، وهذا ما سيؤدي إلى فتح فرص الابتكار والإبداع في مختلف التخصصات مثل: البحوث الطبية، الأمن السيبراني، البحث عبر الانترنت، الفلاحة والصناعة مثل السيارات ذاتية القيادة…إلخ.
	</li>
	<li>
		الحصول على عائد مادي أكبر:يُعدّ راتب مهندس الذكاء الاصطناعي من بين أعلى الرواتب مقارنة ببقية <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">المجالات البرمجية</a>.
	</li>
	<li>
		تطوير وابتكار حلول جديدة: من خلال المساعدة على إيجاد حلول للتحديات والمشاكل حول العالم مثل مجال الرعاية الصحية والتعليم والاقتصاد والبيئة.
	</li>
	<li>
		زيادة الطلب على مهارة الذكاء الاصطناعي: مع تزايد استخدام الشركات له زاد الطلب على الأشخاص الذين يجيدون استخدام أدواته المختلفة. وبالرغم من المخاوف التي تثار حول إلغاء الذكاء الاصطناعي للعديد من الوظائف والمهام البشرية، إلا أنه بالمقابل يستحدث عددًا كبيرًا من الوظائف المتنوعة وهي فرصة لك لتعلم تقنيات جديدة تعزز مهاراتك وخبراتك وتفتح لك آفاقًا جديدة في مجال عملك.
	</li>
</ul>

<h2 id="-2">
	طرق دراسة الذكاء الاصطناعي
</h2>

<p>
	إذا قررت أن تدخل مجال الذكاء الاصطناعي ومازلت لا تعرف من أين تبدأ أو ما هي دورات الذكاء الاصطناعي المناسبة للمبتدئين، سنساعدك في الفقرات القادمة على اختيار ما يناسبك منها، لكن قبل ذلك دعنا نتعرف أولا على الطريقتين الشائعتين لدراسة الذكاء الاصطناعي وهما التعليم الأكاديمي عن طريق الجامعة، والتعليم الذاتي من خلال الكورسات ودورات الذكاء الاصطناعي.
</p>

<h3 id="-3">
	التعليم الأكاديمي لتخصص الذكاء الاصطناعي
</h3>

<p>
	إن التعليم الأكاديمي من خلال التسجيل في غحدى الجامعات أو المعاهد الأكاديمية المتخصصة هو الطريقة التقليدية لتعلُّم معظم المجالات والتخصصات العلمية عمومًا والذكاء الإصطناعي خصوصًا، حيث يحصل الطالب عند نهاية سنوات الدراسة على شهادة جامعية تثبت ما تعلمه من معارف ومعلومات لكنها لا تؤهله بالضرورة لدخول سوق العمل. فبالرغم من أن التعليم الأكاديمي يتسم بالتنظيم المنهجي للمقررات والمواد العلمية وفق جدول زمني معيّن ويوفر للطالب مصادر تعلم منوعة من كتب وبحوث علمية تخص المجال من خلال المكتبات الجامعية، ويتيح له استخدام أجهزة الحاسوب المتوفرة فيها مع إمكانية مناقشة كل ما يستشكل عليه مع الأساتذة المتخصصين، وعند نهاية الدراسة يحصل الطالب على شهادة ذكاء اصطناعي رسمية من قبل جهة موثوقة. لكن مع ذلك يرى الكثير من الأشخاص أن دراسة الذكاء الاصطناعي في الجامعة تستغرق مدة طولة تصل إلى حدود 5 سنوات، وأنها تركز على التعلم النظري الممل أكثر من التطبيقات العملية التي يحتاجها سوق العمل وأن ما يتعلمه في سنوات يمكن تعلُّمه في وقت أقصر من خلال التعلم الذاتي الذي يركز على التطبيقات العملية المطلوبة في سوق العمل.
</p>

<h3 id="-4">
	التعليم الذاتي من خلال دورات الذكاء الاصطناعي
</h3>

<p>
	انتشر هذا النوع من التعليم في السنوات القليلة الماضية بعد انتشار العديد من المواقع الإلكترونية التي توفِّر دورات تعليمية في مختلف التخصصات والمجالات، حيث تتوفر الكثير من دورات الذكاء الاصطناعي بمختلف تخصصاته وأنواعه، ويتميز هذا النوع بتَوفُّر المصادر العلمية الكثيرة من كتب رقمية وبحوث علمية حول المجال وسهولة الوصول إليها مجانا على الانترنت، والمرونة في التعلّم إذ يمكن للطالب اختيار الوقت والمكان الذي يناسبه للدراسة. كما يساعده على تقوية المهارات الفكرية وتطوير مهارات البحث والتخطيط، وتعوده على الاستقلال والانضباط والاعتماد على الذات، بالإضافة إلى تطوير مهارات التفكير الإبداعي ومهارة حل المشكلات لديه والتفكير خارج الصندوق. وتتيح دورات الذكاء الاصطناعي للطلاب الأكفاء العمل في الشركات دون شهادة جامعية، حيث صرحت شركات تقنية كبرى مثل جوجل وآبل و IBM أن بعض وظائفها لا تحتاج إلى شهادة جامعية عند التقدم لها، بل تحتاج إلى المهارة في التخصص فقط فالكفاءة اليوم هي المعيار الأول للتميز في سوق العمل. لهذا يفضل الكثيرون التعليم الذاتي على التعليم الأكاديمي سواء من حيث الوقت أو من حيث جودة التعليم، فهو يوفر عليهم الوقت والجهد ويفتح فرصًا مميزة في تعلم ما يفيدهم مستقبلًا.
</p>

<h2 id="-5">
	أفضل دورات الذكاء الاصطناعي للمبتدئين
</h2>

<p>
	نستعرض في فقراتنا التالية بعضًا من أفضل دورات الذكاء الاصطناعي المتاحة عبر الانترنت، فهي كثيرة ومتنوعة الأمر الذي قد يجعلك في حيرة من أمرك في اختيار الدورة المناسبة، لهذا جمعنا لكم في هذا القسم أفضل دورات الذكاء الاصطناعي للمبتدئين، واعتمدنا في اختيارها على مصداقية مقدمي محتوى الدورات ومدى ثراء وجودة المادة العلمية والمعارف والتطبيقات العملية التي يمكن تعلمها في هذه الدورات, إليكم قائمة بأهم دورات الذكاء الاصطناعي ومميزات كل واحدة منها:
</p>

<h3 id="-6">
	دورة الذكاء الاصطناعي من أكاديمية حسوب
</h3>

<p>
	تعتبر هذه الدورة من أفضل دورات الذكاء الاصطناعي باللغة العربية فهي <a href="https://academy.hsoub.com/learn/artificial-intelligence/#course-list" rel="">مقدمة من أكاديمية حسوب</a> الشهيرة المتخصصة في تقديم الدورات التدريبية المختلفة في مجال البرمجة وعلوم الحاسوب باللغة العربية وتابعة لشركة حسوب المؤسسة العربية الأشهر عربيًا في مجال التعليم والخدمات عبر الإنترنت. تبدأ هذه الدورة مع الطلاب من الصفر بتعليمهم أساسيات بايثون وتحليل البيانات، والخوارزميات والمفاهيم البرمجية مثل تعلّم الآلة والتعلم العميق، والتعرّف على الصور باستخدام الشبكات العصبية، كما تزودهم بكافة المعلومات اللازمة لإنشاء نماذج ذكاء اصطناعي متخصصة ليتمكنوا من برمجة الأنظمة التي يريدونها بأنفسهم. تغطي دورة الذكاء الاصطناعي من أكاديمية حسوب كافة المفاهيم التي تخص مجال الذكاء الاصطناعي وتعلُّم الآلة من خلال دروس الفيديو التعليمية التي تبدأ مع المتعلم من الصفر دون الحاجة إلى معرفة مسبقة بالمجال، وتُبسِّط له المعلومات وتشرحها باللغة العربية من أجل مساعدته على فهم معلومات ومصطلحات الذكاء الاصطناعي بشكل جيد وموثوق، وهذا يكسر حاجز اللغة الذي يعاني منه كثير من الطلاب العرب عند دخولهم للدورات الأجنبية.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="397" referrerpolicy="strict-origin-when-cross-origin" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة الذكاء الاصطناعي - أكاديمية حسوب" width="705" data-embed-src="https://www.youtube.com/embed/9ESA9owvmGM"></iframe>
</p>

<p>
	بالإضافة إلى ذلك فإن دورة الذكاء الاصطناعي من أكاديمية حسوب تعتمد على نظام تدريس عملي، إذ يعتمد منهاجها على تطبيق ما تتعلّمه من مهارات على مشاريع حقيقية توافق احتياجات سوق العمل، وبالتالي تستطيع بناء معرض أعمال قوي والحصول على شهادة معتمدة من حسوب يساعدانك على اقتناص أفضل فرص العمل.
</p>

<p>
	ليس هذا فحسب بل ستستفيد من متابعة من قبل فريق مختص في الأكاديمية أثناء وبعد الدورة يدعمك حتى تجد عملًا مناسبًا بعد تخرّجك ويساعدك على تحقيق النجاح المهني، كما يتيح لك الاشتراك في الدورة الوصول إلى مساراتها مدى الحياة وفي حالة ما إذا لم تجد عملًا خلال 6 أشهر من تخرّجك فإن أكاديمية حسوب تعيد لك مبلغ الدورة كاملًا.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h3 id="cs50sintroductiontoartificialintelligencewithpython">
	دورة CS50’s Introduction to Artificial Intelligence with Python من جامعة هارفارد
</h3>

<p>
	تعد دورة <a href="https://pll.harvard.edu/course/cs50s-introduction-artificial-intelligence-python" rel="external nofollow">مقدمة CS50 للذكاء الاصطناعي من جامعة هارفارد</a> الشهيرة من أهم دورات الذكاء الاصطناعي للمبتدئين، كما يمكنك متابعة هذه الدورة مجانًا على منصة edX إذا كنت مهتمًا بالحصول على المعلومات فقط ولا تريد شهادة ذكاء اصطناعي بعد إتمامك للدورة.
</p>

<p>
	لأن الطالب يكتشف من خلالها المفاهيم والخوارزميات التي يقوم عليها الذكاء الاصطناعي الحديث باستخدام لغة البرمجة بايثون، ويكشف الأفكار الكامنة وراء عمل التقنيات الذكية مثل تقنية التعرف على الكتابة اليدوية والترجمة الآلية وأنظمة التوصية والسيارات ذاتية القيادة وغيرها، وفي نهاية الدورة يكون الطالب قادرًا على:
</p>

<ul>
	<li>
		معرفة المفاهيم النظرية الكامنة وراء تقنيات الذكاء الاصطناعي
	</li>
	<li>
		التعامل مع خوارزميات البحث في الرسوم البيانية وخوارزميات التصنيف وتعلم الآلة والتعلم المعزز ودمجها بلغة بايثون.
	</li>
	<li>
		اكتساب خبرة في مكتبات تعلم الآلة ومعرفة مبادئ الذكاء الاصطناعي التي تسمح لهم بتصميم الأنظمة الخبيرة.
	</li>
	<li>
		إنجاز مشروع عملي لتطبيق المعلومات التي اكتسبها الطالب خلال الدورة.
	</li>
</ul>

<h3 id="googleaiessentials">
	دورة Google AI Essentials
</h3>

<p>
	هي عبارة عن <a href="https://grow.google/certificates/en_ca/certificates/ai/" rel="external nofollow">دورة ذكاء اصطناعي تدريبية ذاتية من جوجل</a> متاحة ضمن برنامج برنامج Grow with Google الذي يسعى لإتاحة التقنية والتعلم عن بعد للجميع، فهذه الدورة مصممة لمساعدة المبتدئين وغير المختصين على اكتساب مهارات الذكاء الاصطناعي الأساسية دون اشتراط وجود خبرة مسبقة، ويُشرف على تدريسها خبراء في شركة جوجل. ومن مميزات هذه الدورة:
</p>

<ul>
	<li>
		تعلمك كيفية استخدام أدوات الذكاء الاصطناعي الإبداعية من أجل تطوير الأفكار واتخاذ قرارات أفضل وتسريع مهام العمل اليومية.
	</li>
	<li>
		توضح لك معايير استخدام الذكاء الاصطناعي بشكل مسؤول وتجنب الضرر المحتمل عند استعماله.
	</li>
	<li>
		تعلمك كيفية كتابة الأوامر عند استخدام أدوات ومواقع الذكاء الاصطناعي بشكل صحيح للحصول على أفضل النتائج التي تريدها.
	</li>
</ul>

<h3 id="machinelearningartificialintelligenceaws">
	دورة Machine Learning &amp; Artificial intelligence من AWS
</h3>

<p>
	تعتبر <a href="https://aws.amazon.com/training/learn-about/machine-learning/" rel="external nofollow">هذه الدورة</a> المُقدَّمة من أمازون من بين دورات الذكاء الاصطناعي التي تسعى لتعزيز التعليم ومهارات الذكاء الاصطناعي وعلوم البيانات عند الطلاب حول العالم، فهي تساعد المبتدئين على بناء معرفتهم بالذكاء الاصطناعي وتعلم الآلة ضمن بيئة السحابة AWS Cloud. سيتعرف الطالب في هذه الدورة التدريبية على مجموعة واسعة من خدمات تعلم الآلة والبنية التحتية السحابية الداعمة، كما ستساعده على تنمية مهاراته التقنية وتُعلِّمه كيفية تطبيق التعلّم الآلي والذكاء الاصطناعي والتعلم العميق ودمجها في الأدوات والتطبيقات، بالإضافة إلى ذلك تساعد خطة التعلّم في هذه الدورة على إعداد الطلاب لامتحان شهادة التخصص في التعلّم الآلي المعتمد من AWS.
</p>

<h3 id="microsoftazureaifundamentalsaioverview">
	دورة Microsoft Azure AI Fundamentals: AI Overview
</h3>

<p>
	تسعى شركة مايكروسوفت من خلال <a href="https://learn.microsoft.com/en-us/training/paths/get-started-with-artificial-intelligence-on-azure/" rel="external nofollow">هذه الدورة</a> إلى تعريف المتعلمين الجُدد بمجال الذكاء الاصطناعي وتعلّم الآلة من خلال ثلاث وحدات أساسية، حيث تشمل الوحدة الأولى مفاهيم الذكاء الاصطناعي مثل: تعلم الآلة وفهم تقنية الرؤية الحاسوبية وتقنية معالجة اللغة الطبيعية والذكاء الاصطناعي التوليدي، بالإضافة إلى مخاطر وتحديات الذكاء الاصطناعي.
</p>

<p>
	وتناقش الوحدة الثانية أساسيات تعلم الآلة وأنواعه والتعلم العميق باعتبارها الأساس لمعظم حلول الذكاء الاصطناعي الحديثة، أمّا الوحدة الثالثة فتناقش أساسيات خدمات Azure AI التي يتعلم من خلالها الطالب كيفية استخدام تلك الخدمات لإنشاء التطبيقات، حيث تشرح الوحدة خدمات الذكاء الاصطناعي على Azure AI وإنشاء مواردها وكيفية استخدامها والمصادقة على خدماتها.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="360" referrerpolicy="strict-origin-when-cross-origin" src="https://academy.hsoub.com/applications/core/interface/index.html" title="كيف تتعلم الذكاء الاصطناعي؟" width="640" data-embed-src="https://www.youtube.com/embed/5e_DUMotO-I"></iframe>
</p>

<h3 id="ibm">
	دورة شركة IBM التطبيقية للذكاء الاصطناعي
</h3>

<p>
	هذه <a href="https://www.ibm.com/training/badge/ibm-applied-ai-professional-certificate" rel="external nofollow">الدورة المقدمة من الشركة العالمية IBM</a> وتعد من بين دورات الذكاء الاصطناعي المفيدة التي تساعد المبتدئين على اكتساب خبرة في بناء روبوتات الدردشة والتطبيقات التي تعمل بالذكاء الاصطناعي، وهي تتكون من 10 مسارات تدريبية يمكن إتمامها في مدة 6 أشهر فقط ويحصل الطالب على شهادة من شركة IBM، وتتميز الدورة بما يلي:
</p>

<ul>
	<li>
		تكسبك مهارات الذكاء الاصطناعي وخبرة عملية مطلوبة من طرف أصحاب العمل خلال 6 أشهر فقط.
	</li>
	<li>
		تعلّمك كيفية إنشاء تطبيقات وروبوتات المحادثة باستخدام هياكل برمجية متنوعة.
	</li>
	<li>
		تشرح لك كيفية استخدام لغة البرمجة بايثون وإطار عمل فلاسك Flask لتطوير ونشر تطبيقات الذكاء الاصطناعي على الويب.
	</li>
</ul>

<h2 id="-7">
	الخلاصة
</h2>

<p>
	نرجو أن تكون دورات الذكاء الاصطناعي التي سلطنا عليها الضوء في مقال اليوم مفيدة لك في رحلة تعلمك، وختامًا نستطيع القول بأن تعلّم الذكاء الاصطناعي أضحى ضرورة حتمية في وقتنا الحالي نظرًا لزيادة الاعتماد على تقنياته والطلب الكبير على متخصصي الذكاء الاصطناعي في سوق العمل.<br>
	فإذا كنت مهتمًا بتعلم الذكاء الاصطناعي بكفاءة واحترافية فاحرص على اتباع دورات ذكاء اصطناعي منهجية تساعدك على تسريع وتيرة التعلم وتحقيق هدفك بسرعة وتسير معك من بداية الطريق إلى بناء تطبيقات عملية والحصول على فرصة عمل بشكل منظّم. حظًّا موفقًا!
</p>

<h2 id="-8">
	اقرأ أيضا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/artificial-intelligence/" rel="">كل ما تود معرفته عن تعلم الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الاصطناعي: دليلك الشامل</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D8%B3%D8%A3%D9%84-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A3%D8%B3%D8%A6%D9%84%D8%A9-%D8%B4%D8%A7%D8%A6%D8%B9%D8%A9-%D8%AD%D9%88%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2313/" rel="">اسأل مهندس الذكاء الاصطناعي: أسئلة شائعة حول الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A5%D9%8A%D8%AC%D8%A7%D8%A8%D9%8A%D8%A7%D8%AA-%D9%88%D8%B3%D9%84%D8%A8%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2248/" rel="">إيجابيات وسلبيات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة Machine Learning</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%83%D9%8A%D9%81-%D8%AA%D8%A8%D8%AF%D8%A3-%D9%81%D9%8A-%D9%85%D8%AC%D8%A7%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2075/" rel="">كيف تبدأ في مجال الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2332</guid><pubDate>Mon, 27 May 2024 12:08:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x623;&#x647;&#x645; &#x643;&#x62A;&#x628; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A; &#x627;&#x644;&#x645;&#x62C;&#x627;&#x646;&#x64A;&#x629;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%87%D9%85-%D9%83%D8%AA%D8%A8-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A7%D9%84%D9%85%D8%AC%D8%A7%D9%86%D9%8A%D8%A9-r2330/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_06/---11---.png.f948a3a8c3ffd6a5f654fb96b4c103c5.png" /></p>
<p>
	مع تزايد الاهتمام بتعلم الذكاء الاصطناعي زادت الحاجة إلى وسائل ومصادر تعلمه، ومن مصادر التعلم المفيدة <strong>كتب الذكاء الاصطناعي</strong> التي يفضلها الكثير من المتعلمين لكونها متخصصة وذات معلومات مفصلة، كما أن محتويات الكتب تنظم عادة بطريقة مفهرسة، وتتدرج في شرح المفاهيم من الأسهل للأصعب.<br>
	سنعرفك في هذا المقال على أبرز كتب الذكاء الاصطناعي باللغة العربية والإنجليزية التي تساعدك على دراسة الذكاء الاصطناعي بطريقة منظمة ومنهجية، حتى نساعدك على اختيار ما تحتاج إليه ونزوِّدك برابط كل كتاب ليسهُل عليك تحميله.
</p>

<h2 id="-1">
	أهمية كتب الذكاء الاصطناعي
</h2>

<p>
	إنّ تعلم الذكاء الاصطناعي في هذا الوقت بالتحديد هو من أفضل القرارات التي يمكن أن تتخذها لأنه يعتبر استثمارًا ممتازًا في نفسك، وإذا كنت ممن يفضل تعلّمه من الكتب فهذا الأمر سيوفر لك عدة مميزات، فمن أبرز مميزات التعلّم من كتب الذكاء الاصطناعي ما يلي:
</p>

<ul>
	<li>
		يساعدك التعلّم من كتب الذكاء الاصطناعي إلى حفظ المعلومات وتذكُّرها بشكل جيد ويرسخها في ذهنك لفترة طويلة.
	</li>
	<li>
		تعرض الكتب أساسيات المجال ومعلوماته بشكل مرتب حيث تتدرج من الأسهل إلى الأصعب لتساعدك على بناء معرفتك بشكل منهجي ومنظم.
	</li>
	<li>
		تتميز كتب تعلم الذكاء الاصطناعي بدقة وموثوقية معلوماتها فهي تكتب عادة من قبل متخصصين وأكاديميين في مجال الذكاء الاصطناعي وتخضع للتحرير والتنقيح والمراجعة الدقيقة قبل نشرها.
	</li>
	<li>
		تشرح كتب تعلم الذكاء الاصطناعي مواضيع ومعلومات المجال التقنية بشكل مفصّل ودقيق يساعد المتعلم على فهم المعلومات واستيعابها بشكل أفضل.
	</li>
	<li>
		يحتوي أي كتاب ذكاء اصطناعي على فهرس بصفحات المواضيع التي طُرحت فيه وهذا يُسهّل عليك العودة إلى المواضيع التي تريدها عند حاجتك إليها. لا شك في أن لكل شخص طريقته في التعلّم فهناك من يُفضّل الكتب وهناك من يفضّل الطرق الأخرى، واستخدام الكتاب لا يعني الاستغناء عن التعلّم من خلال الفيديوهات والدورات التدريبة والمقالات التعليمية وغيرها، لأن تعلم الذكاء الاصطناعي هو مزيج بين الدراسة النظرية من الكتب وبين الطريقة العملية التطبيقية التي تجدها في مراجع أخرى ولعل الجمع بين عدة أساليب في تعلم الذكاء الاصطناعي هو أفضل طريقة لتعلمه.
	</li>
</ul>

<h2 id="-2">
	أفضل كتب الذكاء الاصطناعي التي عليك قراءتها
</h2>

<p>
	اخترنا لكم في الفقرات التالية مجموعة كتب ذكاء اصطناعي متنوعة عربية وأجنبية وهي:
</p>

<ol>
	<li>
		<a href="#1" rel="">كتاب البرمجة بلغة بايثون</a>
	</li>
	<li>
		<a href="#2" rel="">كتاب مدخل إلى الذكاء الاصطناعي وتعلم الآلة</a>
	</li>
	<li>
		<a href="#3" rel="">كتاب عشرة مشاريع عملية عن الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="#4" rel="">كتاب مئة صفحة عن تعلم الآلة The Hundred-Page Machine Learning Book</a>
	</li>
	<li>
		<a href="#5" rel="">كتاب دليل علوم البيانات بلغة بايثون Python Data Science Handbook</a>
	</li>
	<li>
		<a href="#6" rel="">كتاب تطلعات تعلم الآلة Machine Learning Yearningg</a>
	</li>
	<li>
		<a href="#7" rel="">كتاب التعلم العميق مع بايتورش Deep Learning with PyTorch</a>
	</li>
	<li>
		<a href="#8" rel="">كتاب الشبكات العصبية والتعلم العميق Neural Networks and Deep Learning</a>
	</li>
	<li>
		<a href="#9" rel="">كتاب التعلم العميق Deep Learning</a>
	</li>
	<li>
		<a href="#10" rel="">كتاب كشف الكائنات باستخدام الذكاء الاصطناعي How to build AI-driven object detection software</a>
	</li>
</ol>

<p>
	لنتعرف بمزيد من التفصيل على أهم المواضيع التي ستتعلمها من كل كتاب وما الفوائد التي ستجنيها من قراءته.
</p>

<h3 id="1">
	1. كتاب البرمجة بلغة بايثون
</h3>

<p>
	يحتاج أي مهتم بتعلم الذكاء الاصطناعي إلى تعلم لغة البرمجة بايثون التي تعد أحد أهم لغات برمجة الذكاء الاصطناعي فهي لغة سهلة التعلم وتوفر العديد من المكتبات المفيدة للتعامل مع نماذج الذكاء الاصطناعي وتحظى بطلب كبير في سوق العمل.
</p>

<p>
	فإذا كنت تريد البدء في مجال الذكاء الاصطناعي ولم تكن على دراية مسبقة بلغة بايثون فأفضل مكان تبدأ منه هو هذا الكتاب الذي يشرح لك كافة الأساسيات التي تحتاجها حول هذه اللغة القوية والسهلة بذات الوقت، هذا الكتاب الشامل من قبل أكاديمية حسوب هو ترجمة لكتاب How to code in Python للكاتبة ليزا تاغليفيري Lisa Tagliaferri.
</p>

<p>
	يبدأ هذا الكتاب مع الطالب المبتدئ بشرح المفاهيم البرمجية الأساسية للغة بايثون وكيفية عمل البرامج ويساعده على فهم أسس البرمجة التي تعتبر بدورها أساس مجال الذكاء الاصطناعي، بالإضافة إلى ذلك فقد صُمّم الكتاب لجذب المطورين الذين يرغبون في تعلم لغة بايثون بسرعة، فهو يشرح المنطق البرمجي وكتابة الأكواد بأسلوب سهل ومفردات بسيطة تساعدك على اكتساب خبرات كثيرة بزمن قياسي وهذا ما يختصر عليك الطريق نحو تعلم البرمجة والمتابعة نحو تعلم الذكاء الاصطناعي. كما أن فهم إمكانيات لغة بايثون وبرمجة الحاسوب عمومًا لا يفيدك كمتخصص في الذكاء الاصطناعي فحسب بل يفيدك تعلم البرمجة كمستخدم عادي لمواكبة تطورات العصر الرقمي ويساعدك على فهم التقنيات الذكية المستخدمة في التطبيقات والمجالات الحياتية المختلفة.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed6227756676" src="https://academy.hsoub.com/files/15-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin:auto;"></iframe>

<h3 id="2">
	2. كتاب مدخل إلى الذكاء الاصطناعي وتعلم الآلة
</h3>

<p>
	يعد هذا الكتاب أفضل كتاب عربي لتعلم الذكاء الاصطناعي باللغة العربية، فهو يشرح لك الكثير من المعلومات النظرية التأسيسية التي تحتاج لفهمها حول الذكاء الاصطناعي ومجالاته وتطبيقاته، وهو الجزء الأول من أصل جزئين حول الذكاء الاصطناعي وتعلّم الآلة، حيث يبدأ بعرض أهمية الذكاء الاصطناعي وتعلّم الآلة من خلال الإشارة إلى الإنجازات التي قدمها للبشرية حتى الآن وتأثيرها على مجالات الحياة اليومية، ثم يُعرّفك إلى تاريخ الذكاء الاصطناعي والمراحل التي مر بها حتى وقتنا الحاضر. بعدها ينطلق في شرح مفصل لكافة المصطلحات التي تتعلق بمجال الذكاء الاصطناعي وبالتحديد تخصص تعلم الآلة والأسس التي بُنِي عليها، وأساليب تعليم الإنسان للآلة مثل: التعلم المعزز والتعلم العميق والشبكات العصبية …إلخ، ثم يذكر التحديات التي تواجه عملية تعليم الآلة وعلاقتها بالبيانات، وفي نهايته يُعطيك خارطة طريق تُبيّن لك أبرز المفاهيم التي عليك تعلّمها وإتقانها في حالة ما إذا أردت التوسع في مجال الذكاء الاصطناعي والانتقال لتطوير تطبيقات عملية باستخدامه.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed5948794835" src="https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px;margin:auto;"></iframe>

<h3 id="3">
	3. كتاب عشرة مشاريع عملية عن الذكاء الاصطناعي
</h3>

<p>
	هذا هو الجزء الثاني المكمل للكتاب السابق كتاب مدخل إلى الذكاء الاصطناعي وتعلم الآلة،فبعد أن زودك الكتاب الأول بالمفاهيم النظرية الأساسية يأتي دور هذا الكتاب ليزودك بالخبرة العملية التي تعتمد على تطبيق مشاريع حقيقية تطبق على البيانات الواقعية.
</p>

<p>
	اعتمد هذا الكتاب عدة مصادر قيمة لكتابته وهو يتميز بالتركيز على إكساب القارئ خبرة عملية في تطبيقات الذكاء الاصطناعي إذ يعرض جملة متنوعة من التطيقات المطبقة على نصوص اللغة العربية من أبرزها تطبيق لتحليل المشاعر في النصوص العربية باستخدام التعلم العميق، وتصنيف الشخصيات بالاعتماد على تغريداتهم العربية باستخدام التعلم العميق أيضًا، بالإضافة إلى تطبيق لبناء شبكة عصبية للتعرف على الأرقام المكتوبة بخط اليد باستخدام مكتبة TensorFlow، وتطبيق عملي يقوم بتحديد جنس الشخص من صورة وجهه وغيرها الكثير من المواضيع التي تستحق تحميل هذا الكتاب وتصفح محتوياتخه.
</p>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed1366104048" src="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/?do=embed" style="overflow: hidden; height: 470px; max-width: 500px; margin:auto;"></iframe>

<h3 id="4">
	4. كتاب مئة صفحة عن تعلم الآلة The Hundred-Page Machine Learning Book
</h3>

<p>
	هذا الكتاب دليل موجز يحاول أن يلخص لك أهم مفاهيم التعلم الآلي في مئة صفحة فقط، ورغم أنه ليس كتابًا شاملًا إلا أنه كتاب ذكاء اصطناعي مناسب للمبتدئين الراغبين بالحصول على كافة المعلومات الأساسية إذ يوفر لهم طريقة سريعة لفهم طريقة عمل التعلم الآلي وتجهيزهم لبناء أنظمة الذكاء الاصطناعي المعقدة، كما يعد مرجعًا سريعًا يفيدك في مراجعة أهم الأسئلة التي قد تطرح عليك في المقابلات الوظيفية حول تخصص الذكاء الاصطناعي وتعلم الآلة.
</p>

<p>
	يمكنك تنزيل الرابط مجانًا <a href="http://themlbook.com/wiki/doku.php" rel="external nofollow" target="_blank">من هنا</a> فهو كتاب متاح ودفع ثمنه لاحقًا إن رغبت، فهو متاح ضمن نموذج الدفع مقابل القيمة (Pay What You Want) فإن رأيت أن الكاتب قدم لك من خلال هذا الكتاب الفائدة التي ترجوها يمكنك دعمه ودفع ثمن الكتاب له.
</p>

<h3 id="5">
	5. كتاب دليل علوم البيانات بلغة بايثون Python Data Science Handbook
</h3>

<p>
	ستتعلم في هذا الكتاب كيفية الاستفادة من لغة البرمجة بايثون وأهم مكتباتها مثل نامباي NumPy وباندا Pandas ومكتب ماتبلوتليب Matplotlib وساي كيت ليرنScikit-Learn، والعديد من الأدوات الأخرى في مهام تنظيف البيانات، ومعالجتها، وتحويلها وكيفية بناء نماذج تعلم الآلة خطوة بخطوة.
</p>

<p>
	تتوفر فصول هذا الكتاب بشكل سلسلة مقالات على <a href="https://jakevdp.github.io/PythonDataScienceHandbook/" rel="external nofollow" target="_blank">هذا الرابط</a> كما تتوفر النسخة الكاملة من الكتاب الإلكتروني مع الكود البرمجي مجانًا على <a href="https://github.com/jakevdp/PythonDataScienceHandbook" rel="external nofollow" target="_blank">GitHub</a> ويمكنك تحميلها كاملة والبدء برحلة التعلم.
</p>

<h3 id="6">
	6. كتاب تطلعات تعلم الآلة Machine Learning Yearning
</h3>

<p>
	من أشهر كتب الذكاء الاصطناعي المجانية ألفه أندرو نغ Andrew NG وهو واحد من أشهر الشخصيات في صناعة الذكاء الاصطناعي حيث يشرح في هذا الكتاب هيكلة مشاريع التعلم الآلي وطريقة عمل خوارزميات التعلم الآلي بالتفصيل. وعند الانتهاء من قراءة هذا الكتاب ستمتلك معرفة بكامل خطوات العمل على مشاريع الذكاء الاصطناعي وتعلم الآلة وسيكون من السهل عليك تشخيص أخطاء الأنظمة الذكية التي تطورها، لتحميل هذا الكتاب كل ما عليك هو ملء الاستمارة الموجودة على <a href="https://info.deeplearning.ai/machine-learning-yearning-book" rel="external nofollow" target="_blank">هذا الرابط</a> وسيتم تحميل الكتاب على جهازك مباشرة.
</p>

<h3 id="7">
	7. كتاب التعلم العميق مع بايتورش Deep Learning with PyTorch
</h3>

<p>
	يوفر هذا الكتاب الخطوات العملية التي تحتاجها لبناء الشبكات العصبية الاصطناعية باستخدام إطار بايثون الشهير <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">باي تورش PyTorch</a>، فهذا الإطار من أشهر الأدوات القوية مفتوحة المصدر لتعلم الآلة وستتعلم من خلاله كيف تستخدم الشبكات العصبية الاصطناعية في تطبيقاتك وكيف تنجز ونشر نماذج الذكاء الاصطناعي والعديد من المواضيع المفيدة الأخرى وهو متاح للتحميل المباشر على <a href="https://isip.piconepress.com/courses/temple/ece_4822/resources/books/Deep-Learning-with-PyTorch.pdf" rel="external nofollow" target="_blank">الرابط التالي</a>
</p>

<h3 id="8">
	8. كتاب الشبكات العصبية والتعلم العميق Neural Networks and Deep Learning
</h3>

<p>
	إذا كنت ترغب في تعلم مبادئ التعلم العميق ومفهوم الشبكات العصبية الاصطناعية بشكل معمق وطريقة بناء شبكة عصبية عميقة من الصفر فهذا لكتاب من كتب الذكاء الاصطناعي المفيدة التي تساعدك في تعلم كافة المبادئ التي تحتاجها مع التدعيم بورسوم توضيحية ورموز سهلة المتابعة تشرح لك المفاهيم التي تتعلمها بأسلوب سهل يساعدك على فهم بناء نماذج التعلم العميق بسهولة دون تعقيد ويجعل التعلم ممتعًا. يمكنك تحميل الآن من خلال <a href="http://neuralnetworksanddeeplearning.com/" rel="external nofollow" target="_blank">هذا الرابط</a>
</p>

<h3 id="9">
	9.كتاب التعلم العميق Deep Learning
</h3>

<p>
	يُعد هذا الكتاب مقدمة في الذكاء الاصطناعي وهو كتاب بحثي مكن استخدام هذا الكتاب من قبل الطلاب الجامعيين أو من قبل مهندسي البرمجيات الذين يريدون استخدام التعلم العميق في منصّاتهم. فهو يتناول شرح العديد من مفاهيم التعلم العميق Deep Learning بداية من شرح المفاهيم الرياضية الأساسية  مثل الجبر الخطي ونظرية الاحتمالات والحساب العددي، ويوضح تقنيات التعلم العميق المستخدمة في الصناعة، كما يغطي مواضيع الخوارزميات وشبكات التغذية العميقة<br>
	Deep Feed forward Networks ويشرح وجهات نظر بحثية تتعلق بنماذج العوامل الخطية والنماذج التوليدية العميقة والاستدلال التقريبي الذي يمكنك من اشتقاق نتائج أو تقديرات قريبة من الحقيقة باستخدام البيانات المتاحة دون الحصول على إجابة دقيقة بشكل مطلق. ويمكنك قراءة كامل فصول هذا الكتاب المنشورة على <a href="https://www.deeplearningbook.org/" rel="external nofollow" target="_blank">هذا الرابط</a>.
</p>

<h3 id="10">
	10. كتاب كشف الكائنات بالذكاء الاصطناعي How to build AI-driven object detection software
</h3>

<p>
	هو كتاب ذكاء اصطناعي  تطبيقي مفيد يشرح لك طريقة كشف الكائنات object detection باستخدام الذكاء الاصطناعي أي تحديد وتمييز الكائنات المختلفة داخل الصور أو مقاطع الفيديو، وهذا المفهوم هو واحد من أسرع المجالات تطورًا في مجال الذكاء الاصطناعي ويوفر لك ها الكتب خارطة طريق واضحة ويعلمك خطوة بخطوة كيف تطور برمجيات للكشف عن الكائنات باستخدام تقنيات التعلم العميق والبيانات الاصطناعية وكيف تحدد المقاييس وتجمع البيانات وتنبي مجموعة بيانات وتحسنها وكيف تدريب النموذج وتختبر أداءها وأخيرًا كيف تنشر النموذج وتحسن أداءه، يمكنك تحميله من خلال <a href="https://dlabs.ai/resources/whitepapers/ai-driven-object-detection-software/" rel="external nofollow" target="_blank">هذا الرابط</a>
</p>

<h2 id="-3">
	مصادر أخرى لتعلم الذكاء الاصطناعي
</h2>

<p>
	إذا كنت مهتمًا بالحصول على مصادر أخرى غير كتب الذكاء الاصطناعي فستجد في أكاديمية حسوب العديد من مصادر التعلم المجانية والمدفوعة التي تساعدك في رحلة التعلم بطريقة منهجية ومنظمة وتُجنّبك التشتت. إذ تتمثل المصادر المجانية في <a href="https://academy.hsoub.com/programming/artificial-intelligence/" rel="">دروس ومقالات الذكاء الاصطناعي</a> المنشورة على موقع الأكاديمية وهي مكتوبة من قبل متخصصين ومحترفين في المجال.
</p>

<p>
	أما المصادر المدفوعة فتتمثل في الدورات التدريبية التي تغطي مجال الذكاء الاصطناعي ومن بين أهم الدورات باللغة العربية <a href="https://academy.hsoub.com/store/12-%D8%AF%D9%88%D8%B1%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">دورة الذكاء الاصطناعي</a> التي أطلقتها أكاديمية حسوب مؤخرًا والتي تبدأ مع الطالب من الصفر، وتشرح له أساسيات الذكاء الاصطناعي نظريًا، ثم تنتقل به إلى التطبيق عمليًا على مشاريع حقيقية توافق سوق العمل، وتتابعه حتى يجد عملًا مناسبًا في مجال الذكاء الاصطناعي، وللمزيد ننصحك بالاطلاع على هذه <a href="https://academy.hsoub.com/artificial-intelligence/" rel="">صفحة الذكاء الاصطناعي الشاملة</a> التي توفر لك كل ما تحتاجه للتعرف على أساسيات الذكاء الاصطناعي وأشهر استخداماته وتطبيقاته العملية ومصادر تعلمه من الصفر حتى الاحتراف.<span style="display: none;"> </span>
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="-4">
	الخاتمة
</h2>

<p>
	بهذا نكون قد وصلنا لنهاية مقالنا الذي تطرقنا إلى أهمية كتب تعلم الذكاء الاصطناعي كمصدر للتعلم، وعرضنا قائمة بأبرز كتب ذكاء اصطناعي باللغتين العربية والإنجليزية التي تساعد على تعلم هذا التخصص الرائد وتوسيع معرفتك به، وركّزنا على الكتب التي يمكن تحميلها مجانًا، وطبعًا هناك الكثير من الكتب الأخرى لكننا حرصنا على تقديم الكتب التي رأيناها تناسب المبتدئين والمتقدمين معًا  ونرجو أن تجد فيها الفائدة المرجوة.
</p>

<p>
	إذا أردت الاطلاع على كتب تقنية وباللغة العربية حول <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">تخصصات برمجية</a> أخرى، ننصحك بتصفح قسم <a href="https://academy.hsoub.com/files/" rel="">كتب أكاديمية حسوب</a> التي توفر العديد من الكتب المفيدة التي يمكنك تحميلها مجانًا وتبدأ رحلة التعلم في المجال الذي تحبه.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A3%D9%81%D8%B6%D9%84-%D9%83%D8%AA%D8%A8-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2187/" rel="">تعرف على أفضل كتب برمجة للمبتدئين</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%86-%D9%87%D9%88-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D9%85%D8%A7-%D8%A3%D8%A8%D8%B1%D8%B2-%D9%85%D9%87%D8%A7%D9%85%D9%87-r2319/" rel="">من هو مهندس الذكاء الاصطناعي وما أبرز مهامه</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">تعرف على إطار عمل باي تورش PyTorch وأهميته لتطبيقات الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2330</guid><pubDate>Sat, 25 May 2024 00:05:00 +0000</pubDate></item><item><title>&#x645;&#x646; &#x647;&#x648; &#x645;&#x647;&#x646;&#x62F;&#x633; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A; &#x648;&#x645;&#x627; &#x623;&#x628;&#x631;&#x632; &#x645;&#x647;&#x627;&#x645;&#x647;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%86-%D9%87%D9%88-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D9%85%D8%A7-%D8%A3%D8%A8%D8%B1%D8%B2-%D9%85%D9%87%D8%A7%D9%85%D9%87-r2319/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_05/_-----.png.37ee8f3314a6ab813933de1fb75cc76f.png" /></p>
<p>
	في عالمنا الذي يتطور بسرعة هائلة ويعتمد على التقنية أكثر فأكثر، قد يرغب أي منا في ضمان مكانة مرموقة والعمل في إحدى التخصصات الحديثة، ولعل أبرز تلك التخصصات هندسة الذكاء الاصطناعي. فإذا كنت ترغب بأن تصبح مهندس ذكاء اصطناعي AI Engineer للحاق بركب الثورة الحاصلة في هذا المجال والتي أصبحت تؤثر على كافة مجالات الحياة، وتريد أن تعرف بدقة من هو مهندس الذكاء الاصطناعي، وما هي هندسة الذكاء الاصطناعي؟ وكيف تصبح مهندس ذكاء اصطناعي، وما هي وظائف الذكاء الاصطناعي وكيف يمكنك أن تحصل على فرصة عمل في هذا التخصص المميز الذي يشجع على ابتكار وتطوير تقنيات جديدة تحسن حياة البشر للأفضل، فأنت قبل كل شيء بحاجة لقراءة هذا المقال.
</p>

<h2 id="">
	تخصصات هندسة الذكاء الاصطناعي
</h2>

<p>
	<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/" rel="">الذكاء الاصطناعي</a> هو فرع من علوم الحاسوب يركز على إنشاء آلات ذكية يمكنها محاكاة الذكاء البشري وأداء المهام التي تتطلب عادةً تفكيرًا بشريًا، ويتضمن الذكاء الاصطناعي تطوير الخوارزميات والنماذج التي تمكّن الآلات من التعلم والتفكير والإدراك واتخاذ القرارات بناءً على البيانات.
</p>

<p>
	ويعد الذكاء الاصطناعي بالعموم مجالاً علميًا حديثًا جدًا، ويساهم المتخصصون فيه في التغيير الرقمي بشكل كبير، ويقودون التقدم في مختلف الصناعات من الرعاية الصحية إلى التعليم والاقتصاد وغيرها، ما يعكس الدور المحوري الذي يلعبه هذا التخصص في تشكيل مستقبلنا.
</p>

<p>
	يتضمن هذا التخصص عدة تخصصات أو مجالات فرعية، ومن أهمها نذكر:
</p>

<ul>
	<li>
		<p>
			<strong>الرؤية الحاسوبية Computer Vision</strong>: هو تخصص يمكن الحواسيب من فهم وتفسير المعلومات المرئية كالصور ومقاطع الفيديو، ويستخدم تقنيات التعرف على الأنماط والأشكال والكائنات فيها.
		</p>
	</li>
	<li>
		<p>
			<strong>علم البيانات Data Science</strong>: هو تخصص يعنى باستخراج المعرفة المفيدة من البيانات باستخدام تقنيات وخوارزميات مختلفة تحلل كميات ضخمة من البيانات وتكتشف الأنماط والاتجاهات التي تساعد على اتخاذ القرارات.
		</p>
	</li>
	<li>
		<p>
			<strong>تعلم الآلة Machine Learning</strong>: هو تخصص ذكاء اصطناعي يركز على تطوير خوارزميات ونماذج تمكّن الحواسيب من التعلم من البيانات واتخاذ قرارات بنفسها دون برمجتها بشكل صريح.
		</p>
	</li>
	<li>
		<p>
			ا<strong>لتعلم العميق Deep Learning</strong>: هو فرع من تعلم الآلة يتضمن تدريب شبكات عصبية اصطناعية مكونة من عدة طبقات لأداء مهام متنوعة مثل التعرف على الكلام وتصنيف الصور.
		</p>
	</li>
	<li>
		<p>
			<strong>معالجة اللغات الطبيعية Natural Language Processing</strong> أو اختصارًا NLP هو تخصص ذكاء اصطناعي يركز على تمكين الحواسيب من فهم وتحليل وتوليد اللغة البشرية، لإنجاز مهام مثل استخراج المعلومات من النصوص وتصنيف النصوص وترجمة اللغات.
		</p>
	</li>
	<li>
		<p>
			<strong>علم الروبوتيك Robotics</strong>: هو تخصص ذكاء اصطناعي يهتم بتصميم وبناء وبرمجة وتشغيل الروبوتات المستخدمة في العديد من المجالات مثل التصنيع والرعاية الصحية والألعاب وغيرها.
		</p>
	</li>
</ul>

<h2 id="aiengineer">
	من هو مهندس الذكاء الاصطناعي AI Engineer
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="149228" href="https://academy.hsoub.com/uploads/monthly_2024_05/_-----.png.60065248eef32fc004f755591cbf6ec5.png" rel=""><img alt="_من-هو-مهندس-الذكاء-الاصطناعي-.png" class="ipsImage ipsImage_thumbnailed" data-fileid="149228" data-ratio="62.60" data-unique="kho4vh1ja" style="width: 500px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2024_05/_-----.thumb.png.72894daf57b8c8e9e9807c00c9825966.png"></a>
</p>

<p>
	مهندس الذكاء الاصطناعي AI Engineer هو مهندس محترف مسؤول عن تصميم وتطوير وتنفيذ الحلول والتطبيقات الذكية، أي التطبيقات التي تعزز الحواسيب أو غيرها من الآلات المختلفة وتمكنها من أداء المهام بذكاء قريب من الذكاء البشري، مثل تطبيقات التعرف على الكلام، وتطبيقات التنبؤ واتخاذ القرارات، وروبوتات الدردشة الذكية وغيرها..
</p>

<p>
	ويتميز مهندس الذكاء الاصطناعي بامتلاك خبرة برمجية قوية تمكنه من برمجة وأنظمة الذكاء الاصطناعي وتنفيذها على العديد من الأجهزة واختبارها وضمان تشغيلها بكفاءة، كما يمكنه العمل في عدة تخصصات ذكاء اصطناعي متنوعة كما شرحنا في الفقرة السابقة.
</p>

<h2 id="-1">
	أهمية دراسة الذكاء الاصطناعي
</h2>

<p>
	قبل بضع سنوات كان الذكاء الاصطناعي ضربًا من الخيال العلمي، وكان استخدامه يقتصر على مجالات محددة، أما اليوم فقد أصبح الذكاء الاصطناعي تخصصًا مفيدًا وحيويًا في العديد من مجالات العمل والحياة، فجميع المجالات اليوم تحتاج إلى مهارات مهندس الذكاء الاصطناعي
</p>

<p>
	وهذا المجال في تقدم مستمر، ويُتوقع أن يزداد الطلب على مهندسي الذكاء الاصطناعي في السنوات القادمة، فمع التطورات السريعة في مجال الذكاء الاصطناعي، يُتوقع أن يكون مستقبل هذه الوظيفة واعدًا ومبشرًا، وأن تكون النماذج اللغوية الكبيرة والذكاء الاصطناعي التوليدي من المفاهيم والمهارات الأساسية التي ستهيمن على سوق العمل في السنوات القادمة. لذا فإن دراسة هندسة الذكاء الاصطناعي هي دراسة جيدة وواعدة، لكونها تجعل الحواسيب وغيرها من الأجهزة والآلات المختلفة ذكيةً وقادرةً على التصرف من تلقاء نفسها دون انتظار الأوامر منا، كما تعمل الشركات التقنية الكبيرة اليوم مثل جوجل أو فيسبوك على إنشاء أجهزة حاسوب قادرة على التفكير واتخاذ القرار بصورة ذاتية.
</p>

<h2 id="-2">
	راتب مهندس الذكاء الاصطناعي
</h2>

<p>
	يختلف راتب مهندس الذكاء الاصطناعي بالطبع بناءً على عدة عوامل من بينها عدد سنوات الخبرة، إضافةً إلى تخصص مهندس الذكاء الاصطناعي الدقيق، فتخصص دقيق مثل التعلم العميق Deep Learning قد يوفر رواتب أعلى من غيره، كما يؤثر المكان الجغرافي أو الموقع الخاص بجهة العمل أو الشركة التي تود أن تعمل بها في الراتب الذي ستحصل عليه.
</p>

<p>
	على سبيل المثال بلغ متوسط راتب مهندس الذكاء الاصطناعي في الولايات المتحدة عام 2024 بين 113,000 و 210,000 دولار أمريكي بحسب <a href="https://www.glassdoor.com/Salaries/ai-engineer-salary-SRCH_KO0,11.htm" rel="external nofollow" target="_blank">Glassdoor</a> فكما تلاحظ يُعد تخصص مهندس الذكاء الاصطناعي من التخصصات المجزية من الناحية المالية. ومع زيادة الطلب على المهارات في مجال الذكاء الاصطناعي، قد تزداد فرص الحصول على مزيد من العوائد المالية والمهنية في هذا المجال.
</p>

<h2 id="-3">
	مهام مهندس الذكاء الاصطناعي
</h2>

<p>
	يعمل مهندسو الذكاء الاصطناعي على مجموعة واسعة من المهام، وقد تختلف هذه المهام من وظيفة لأخرى ومن أبرز هذه المهام نذكر ما يلي:
</p>

<ul>
	<li>
		استخدام تقنيات الذكاء الاصطناعي لتطوير التطبيقات الذكية في مختلف المجالات.
	</li>
	<li>
		التعامل مع الشبكات العصبية الاصطناعية من أجل تطوير نماذج ذكاء اصطناعي.
	</li>
	<li>
		تصميم وتنفيذ الخوارزميات التي تسمح للآلات بالتعلم من البيانات.
	</li>
	<li>
		تحليل كميات ضخمة من البيانات لتحديد الأنماط والرؤى.
	</li>
	<li>
		نشر نماذج الذكاء الاصطناعي المدرَّبة ودمجها مع التطبيقات المختلفة.
	</li>
	<li>
		استخدام تقنيات معالجة اللغة الطبيعية NLP في تطوير تطبيقات التعرف على الكلام التي تحلل اللغة وتعالجها وتستجيب للأوامر المقدمة باللغة الطبيعية.
	</li>
	<li>
		استخدام تقنيات الرؤية الحاسوبية التي تسمح للآلات بفهم وتفسير البيانات المرئية.
	</li>
	<li>
		برمجة الروبوتات الذكية وتمكينها من أداء المهام المعقدة.
	</li>
	<li>
		اختبار التطبيقات الذكية والتحقق من صحتها وضمان عملها بالشكل الصحيح.
	</li>
</ul>

<h2 id="-4">
	كيف تصبح مهندس ذكاء اصطناعي
</h2>

<p>
	يمكنك أن تصبح مهندس ذكاء اصطناعي من خلال طريقتين: إما من خلال التعليم الرسمي أو الدراسة الأكاديمية والتسجيل في إحدى الجامعات المتخصصة في علوم الحاسوب أو <a href="https://academy.hsoub.com/programming/general/%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">علوم البيانات</a> أو <a href="https://academy.hsoub.com/programming/general/%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">هندسة البرمجيات</a> والتخصص لاحقًا في مجال الذكاء الاصطناعي للحصول على إحدى شهادات مهندس الذكاء الاصطناعي، وهو طريق طويل ويستهلك الكثير من الوقت، وقد تدرس فيه الكثير من المواد العامة والنظرية التي لا تهمك في سياق عملك كما أن التعليم الجامعي العربي لهذا التخصص لا زال ضعيف ولا يواكب أحدث التطورات في المجال.
</p>

<p>
	والطريقة الثانية لتعلم الذكاء الاصطناعي هي الدراسة الذاتية التي تركز على تعلم تقنيات الذكاء الاصطناعي وتعلم الآلة واكتساب كافة المهارات التي تحتاجها في تطوير <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات ذكاء اصطناعي</a> عملية تفيد في سوق العمل. لذا بالإمكان الدخول في هذا المجال واحترافه عن طريق الدورات الاحترافية والتعلم الذاتي لكسب الوقت.
</p>

<p>
	إذا كنت مهتمًا بتعلم هندسة الذكاء الاصطناعي ذاتيا فقد وفرت لك أكاديمية حسوب <a href="https://academy.hsoub.com/learn/artificial-intelligence/" rel="">دورة الذكاء الاصطناعي</a> التي تشرح لك ما تحتاجه لاكتساب خبرة عملية في تطوير مشاريع الذكاء الاصطناعي باستخدام لغة البرمجة بايثون Python التي تتميز بكونها سهلة التعلم وتوفر العديد من مكتبات الذكاء الاصطناعي وتعلم الآلة، حيث ستتعلم أهم أطر العمل والمكتبات التي توفرها بايثون في هذا المجال لبناء تطبيقات ذكية تفيدك في بناء معرض أعمال احترافي والحصول على فرصة عمل مناسبة، كما يمكنك الحصول على شهادة معتمدة من أكاديمية حسوب عند إتمامك للدورة لتفيدك في إثبات خبرتك وتضمن لك الحصول على وظيفة مرموقة في هندسة الذكاء الاصطناعي.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="-5">
	أهم المهارات التي يحتاجها مهندس الذكاء الاصطناعي
</h2>

<p>
	لعلك تتساءل ما هي المهارات التي عليك امتلاكها كي تصبح مهندس ذكاء اصطناعي؟ في الواقع يجب على مهندس الذكاء الاصطناعي أن يمتلك العديد من المهارات الفنية والشخصية، ويتمتع بمعرفة واسعة في طرق الذكاء الاصطناعي وعلم البيانات وهندسة البرمجيات، ومن أهم هذه المهارات نذكر:
</p>

<ul>
	<li>
		فهم لأساسيات علوم الحاسوب.
	</li>
	<li>
		معرفة جيدة بأسس الرياضيات والإحصاء الرياضي والجبر الخطي وحساب التفاضل والتكامل.
	</li>
	<li>
		خبرة متقدمة في التقنيات ولغات برمجة الذكاء الاصطناعي مثل بايثون وجافا و R و++C
	</li>
	<li>
		معرفة بأطر عمل الذكاء الاصطناعي للغة البرمجة التي يستخدمها مثل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">باي تورش PyTorch</a> أو تنسرفلو TensorFlow للغة بايثون.
	</li>
	<li>
		فهم عميق بطرق نمذجة البيانات وهندستها.
	</li>
	<li>
		معرفة بقواعد البيانات العلاقية <a href="https://academy.hsoub.com/programming/sql/" rel="">SQL</a> وغير العلاقية <a href="https://academy.hsoub.com/programming/sql/%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-sql-%D9%88-nosql-r2055/" rel="">NoSQL</a> للاستعلام عن البيانات وإدارتها.
	</li>
	<li>
		معرفة بتقنيات الاستعلام عن البيانات الضخمة ومعالجتها مثل SparkSQL وApache Flink
	</li>
	<li>
		معرفة جيدة بالخوارزميات ولا سيما <a href="https://techrecruiting.io/en/stack-overflow-developer-survey-2023/" rel="external nofollow" target="_blank">خوارزميات الذكاء الاصطناعي</a> وخوارزميات تعلم الآلة وخوارزميات التعلم العميق.
	</li>
	<li>
		معرفة جيدة بنماذج <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%86%D8%B8%D8%B1%D8%A9-%D8%B3%D8%B1%D9%8A%D8%B9%D8%A9-%D8%B9%D9%84%D9%89-%D9%85%D8%AC%D8%A7%D9%84-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-r1933/" rel="">تعلم الآلة</a> وتقنيات التعلم المختلفة مثل التعلم بإشراف ودون إشراف.
	</li>
	<li>
		معرفة بخدمات الذكاء الاصطناعي المستندة إلى السحابة مثل Azure وGoogle Cloud Platform.
	</li>
	<li>
		مهارات شخصية مثل مهارات في التواصل والتفكير النقدي والتحليلي إلى جانب الدقة والانتباه للتفاصيل.
	</li>
	<li>
		القدرة على التطور والتعلم المستمر فمجال الذكاء الاصطناعي متجدد ويتطور باستمرار وتظهر فيه أدوات وتقنيات جديدة يوميًا.
	</li>
</ul>

<h2>
	ما الفرق بين هندسة الذكاء الاصطناعي وعلوم البيانات؟
</h2>

<p>
	إن هندسة الذكاء الاصطناعي وعلم البيانات تخصصان متكاملان مع بعضهما البعض حيث يركز دور مهندس الذكاء الاصطناعي على تطوير منتجات ذكية تعمل بصورة ذاتية بينما يستخدم عالم البيانات الذكاء الاصطناعي كأداة لمساعدة المؤسسات على حل مشكلات العمل وتطوير تطبيقات تعتمد على البيانات في تعزيز اتخاذ القرارات التجارية الرابحة كما يطور نماذج تعلم آلة على بيئات تطوير البرمجيات ليدمجها مهندس الذكاء الاصطناعي هذه النماذج مع المنتج النهائي وقد يتولى مسؤولية بناء واجهات برمجية آمنة لنشر النماذج.
</p>

<p>
	فكل من مهندس الذكاء الاصطناعي وعالم البيانات يتعاونون مع بعضهما البعض لبناء حلول ذكاء اصطناعي تفيد في حل مشكلات العمل وتحسين الحياة اليومية والطلب على كل من تخصص علم البيانات وهندسة الذكاء الاصطناعي في ازدياد عالميًا.
</p>

<h2 id="-6">
	ما الفرق بين هندسة الذكاء الاصطناعي وتعلم الآلة؟
</h2>

<p>
	<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة Machine Learning</a> واختصاره ML هو تخصص فرعي من الذكاء الاصطناعي وكثيرًا ما يتم الخلط بين مهندس الذكاء الاصطناعي ومهندس تعلم الآلة، وفيما يلي أبرز الفروقات بينهما:
</p>

<p>
	إن عمل مهندس الذكاء الاصطناعي أكثر شموليةً، فهو يركز على جعل الآلات تقوم بأتمتة المهام المتكررة وأداء الأعمال بنفسها دون تدخل بشري، في حين يركز مهندس تعلم الآلة بشكل أكبر على تنفيذ التطبيقات المعتمدة على البيانات، فهو يعتمد على استخدام خوارزميات تعلم الآلة التي تسمح للحواسيب باتخاذ القرارات بناءً على مجموعات البيانات.
</p>

<p>
	كذلك يحتاج مهندس الذكاء الاصطناعي إلى فهم كافة تقنيات الذكاء الاصطناعي، في حين يركز مهندس تعلم الآلة على وجه الخصوص على لغات برمجة الذكاء الاصطناعي مثل لغة البرمجة بايثون التي توفر العديد من المكتبات وأطر العمل والتي تسهل مهام تحليل البيانات، وتعلم الآلة مثل باي تورش PyTorch أو تنسر فلو TensorFlow أو Scikit-learn أو Keras وغيرها، وعلى تقنيات معالجة وتحليل وتصوير البيانات.
</p>

<p>
	كما ينشئ مهندس تعلم الآلة نماذج يمكنها تحليل كميات هائلة من البيانات والتنبؤ من خلالها واتخاذ القرار بناءً عليها، ويهتم بالمعالجة المسبقة للبيانات وتقييم النماذج. بينما يعمل مهندس الذكاء الاصطناعي على تطوير الأنظمة والتطبيقات التي تستفيد من تقنيات الذكاء الاصطناعي بشكل عام، وقد تكون تطبيقات تعلم الآلة جزءًا منها.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" referrerpolicy="strict-origin-when-cross-origin" src="https://academy.hsoub.com/applications/core/interface/index.html" title="YouTube video player" width="560" data-embed-src="https://www.youtube.com/embed/7up0GP1Y8aM?si=t-4K5nA19KBpl_45"></iframe>
</p>

<h2 id="-7">
	ما الفرق بين مهندس الذكاء الاصطناعي ومهندس البرمجيات
</h2>

<p>
	من المجالات المتكاملة والمرتبطة ببعضها ارتباطًا وثيقًا أيضًا <a href="https://academy.hsoub.com/programming/general/%D8%AF%D8%B1%D8%A7%D8%B3%D8%A9-%D8%AA%D8%AE%D8%B5%D8%B5-%D9%87%D9%86%D8%AF%D8%B3%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/" rel="">هندسة البرمجيات</a> وهندسة الذكاء الاصطناعي، وللتمييز بينهما يمكن القول بأن هندسة البرمجيات هي مجال برمجي يركز على إكساب الشخص مهارات تصميم وتطوير واختبار وصيانة البرمجيات بمختلف أنواعها، وتطبيق المبادئ والممارسات الهندسية بهدف إنشاء برمجيات أو تطبيقات متنوعة موثوقة وعالية الجودة وتلبي متطلبات المستخدمين وتحل مشكلاتهم بالشكل المطلوب، سواء تطبيقات ويب أو تطبيقات الهاتف المحمول أو تطبيقات سطح مكتب أو تطبيقات أنظمة مدمجة …إلخ.
</p>

<p>
	أما مهندس الذكاء الاصطناعي فهو يهتم بشكل خاص بإنشاء أنظمة ذكية يمكنها أداء مهام شبيهة بالمهام البشرية، ويقوم كذلك بتصميم وتطوير وتنفيذ خوارزميات ونماذج الذكاء الاصطناعي، وتدريب النماذج وتحسين أنظمة الذكاء الاصطناعي. ويركز مهندسو البرمجيات على لغات البرمجة، وأطر تطوير البرمجيات، ومبادئ هندسة البرمجيات. ويتكامل هذان التخصصان مع بعضهما بالتأكيد فالالتزام بمبادئ هندسة البرمجيات مطلوب خلال تطوير تطبيقات الذكاء الاصطناعي لجعلها أكثر كفاءةً وموثوقية.
</p>

<h2 id="-8">
	خطوات تعلم الذكاء الاصطناعي
</h2>

<p>
	إليك أهم الخطوات التي عليك اتباعها لتصبح مهندس ذكاء اصطناعي:
</p>

<ol>
	<li>
		تعرف على أبرز تخصصات الذكاء الاصطناعي مثل التعلم الآلي، والتعلم العميق، ورؤية الحاسوب ومعالجة اللغات الطبيعية، وعلم الروبوتيك وأهم التقنيات المرتبطة.
	</li>
	<li>
		طور مهاراتك في <a href="https://academy.hsoub.com/programming/general/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%81%D9%83%D9%8A%D8%B1-%D8%A7%D9%84%D9%85%D9%86%D8%B7%D9%82%D9%8A-%D9%81%D9%8A-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r2095/" rel="">التفكير المنطقي</a> وحل المشكلات.
	</li>
	<li>
		تعلم أسس البرمجة وركز على لغات برمجة الذكاء الاصطناعي مثل بايثون و R وجافا.
	</li>
	<li>
		تعلم استخدام <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مكتبات وأطر عمل الذكاء الاصطناعي</a>
	</li>
	<li>
		طبّق معرفتك في خبرات عملية وطور مشاريع ذكاء اصطناعي لتعزز ما تتعلمه.
	</li>
	<li>
		طور عدة مشاريع ذكاء اصطناعي أكثر تقدمًا لحل مشكلات فعلية وساهم في مشاريع مفتوحة المصدر لبناء معرض أعمال يعكس مهاراتك وخبرتك.
	</li>
	<li>
		ابحث عن فرصة عمل للتدريب في مجال الذكاء الاصطناعي واكتساب الخبرة العملية وتطوير مهاراتك بشكل أكبر.
	</li>
	<li>
		اعتمد مصادر تعلم حديثة وموثوقة تساعدك على تعلم مفاهيم وتقنيات الذكاء الاصطناعي. وتنشر أكاديمية حسوب الكثير من الكتب والمقالات المفيدة حول هذا التخصص في قسم <a href="https://academy.hsoub.com/programming/artificial-intelligence/" rel="">الذكاء الاصطناعي</a> التي يمكنك قراءتها والاستفادة منها.
	</li>
</ol>
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" data-embedid="embed1918866537" src="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/?do=embed" style="overflow: hidden; height: 469px; max-width: 500px; margin: auto;"></iframe>

<h2>
	الخلاصة
</h2>

<p>
	تعرفنا في مقال اليوم على مهندس الذكاء الاصطناعي AI Engineer، وأبرز المهارات والتقنيات وأطر العمل التي يحتاج مهندس الذكاء الاصطناعي إلى تعلمها، وطرق دراسة الذكاء الاصطناعي، والفرق بينه وبين هندسة تعلم الآلة، كما وضحنا إمكانية تعلمه ذاتيًا والتفوق فيه في حال بذل الجهد والالتزام وتعلم كافة المهارات التقنية والشخصية المطلوبة للعمل في هذا التخصص الرائد والمرتفع الأجر.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D8%B3%D8%A3%D9%84-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A3%D8%B3%D8%A6%D9%84%D8%A9-%D8%B4%D8%A7%D8%A6%D8%B9%D8%A9-%D8%AD%D9%88%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2313/" rel="">اسأل مهندس الذكاء الاصطناعي: أسئلة شائعة حول الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مكتبات وأطر عمل الذكاء الاصطناعي: القوة الكامنة خلف الأنظمة الذكية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A5%D9%8A%D8%AC%D8%A7%D8%A8%D9%8A%D8%A7%D8%AA-%D9%88%D8%B3%D9%84%D8%A8%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2248/" rel="">إيجابيات وسلبيات الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2319</guid><pubDate>Sat, 04 May 2024 12:03:00 +0000</pubDate></item><item><title>&#x62A;&#x644;&#x62E;&#x64A;&#x635; &#x627;&#x644;&#x646;&#x635;&#x648;&#x635; &#x628;&#x627;&#x633;&#x62A;&#x62E;&#x62F;&#x627;&#x645; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D9%84%D8%AE%D9%8A%D8%B5-%D8%A7%D9%84%D9%86%D8%B5%D9%88%D8%B5-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2315/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_05/----.png.318cd2b269f78020ba2df108dd1b7952.png" /></p>
<p>
	غالبًا ما نحتاج في التطبيقات العمليّة إلى تلخيص النصوص لاستخلاص المعلومات المفيدة من المستندات أو الوثائق المختلفة. بدءًا من المقالات البحثية المُعقّدة وتقارير الأرباح المالية إلى رسائل البريد الإلكتروني الطويلة والمقالات الإخباريّة. ويتطلّب تلخيص النصوص فهمًا دقيقًا للمقاطع الطويلة، والقدرة على تحليل محتواها المعقد، والكفاءة في صياغة نص موجز متماسك يُلخّص الموضوعات الأساسية للوثيقة الأصلية.
</p>

<p>
	خلال هذه المقالة سوف:
</p>

<ul>
	<li>
		نبحث عن نص لكي نُنفّذ عملية التلخيص عليه باستخدام تقنيات الذكاء الاصطناعي.
	</li>
	<li>
		نتعرّف على أفضل النماذج الموجودة حاليًّأ لتنفيذ هذه المهمة.
	</li>
	<li>
		نكتب بعض التعليمات البرمجية لتنفيذ ذلك.
	</li>
	<li>
		نُقيّم أداء النماذج باستخدام أدوات تقييم الأداء ذات الصلة بهذه المهمة.
	</li>
</ul>

<p>
	النص الذي سنؤدي عليه المهام الموضحة أعلاه هو عبارة عن نص يوضح مجموعة من الاعتبارات والمبادئ الأساسية لتطوير ونشر أنظمة الذكاء الاصطناعي، وقد جلبناه من أحد المواقع يدويًّا للتجريب وتبسيط العمل، لكن في التطبيقات العمليّة، قد نحتاج إلى استخراج هكذا نصوص من مواقع الويب، وهذا يتطلب استخدام أدوات ومكتبات إضافية أخرى.
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_5859_10" style=""><span class="kwd">import</span><span class="pln"> textwrap

content </span><span class="pun">=</span><span class="pln"> </span><span class="str">"""Mozilla's "Trustworthy AI" Thinking Points:

PRIVACY: How is data collected, stored, and shared? Our personal data powers everything from traffic maps to targeted advertising. Trustworthy AI should enable people to decide how their data is used and what decisions are made with it.

FAIRNESS: We’ve seen time and again how bias shows up in computational models, data, and frameworks behind automated decision making. The values and goals of a system should be power aware and seek to minimize harm. Further, AI systems that depend on human workers should protect people from exploitation and overwork.

TRUST: People should have agency and control over their data and algorithmic outputs, especially considering the high stakes for individuals and societies. For instance, when online recommendation systems push people towards extreme, misleading content, potentially misinforming or radicalizing them.

SAFETY: AI systems can carry high risk for exploitation by bad actors. Developers need to implement strong measures to protect our data and personal security. Further, excessive energy consumption and extraction of natural resources for computing and machine learning accelerates the climate crisis.

TRANSPARENCY: Automated decisions can have huge personal impacts, yet the reasons for decisions are often opaque. We need to mandate transparency so that we can fully understand these systems and their potential for harm."""</span></pre>

<p>
	نحن الآن جاهزون للبدء بتلخيص هذا النص. لكن دعنا قبل ذلك نناقش بداية أبرز التحديات والحلول المرتبطة بتقنيات <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الاصطناعي</a>.
</p>

<h2 id="-1">
	التحديات والحلول في الوضع الراهن للذكاء الاصطناعي
</h2>

<p>
	يتطلّب الوضع الراهن في الذكاء الاصطناعي أن يبقى مهندس الذكاء الاصطناعي يقظًا ومتابعًا لأهم الأعمال والتقنيات والأوراق البحثيّة الجديدة، فكل أسبوع نشاهد العديد من الاختراقات في هذا المجال، فمثلًا التقنيات التي كانت تُستخدم مع مهمةً ما منذ سنة، أصبحت الآن قديمة بكل معنى الكلمة، فربما كنت تستخدم فرضًا نموذج GPT 3 في مشروعك، لكن في لحظة كتابة هذا المقال لدينا GPT 3.5 و GPT 4، وهما نموذجان يُمثلان قفزة هائلة عن GPT 3 وفي المستقبل القريب ستظهر بالتأكيد نماذج أخرى أحدث وأكثر استقرارًا وكفاءة. نستنتج من ذلك أن البيئة الحاليّة للذكاء الاصطناعي هي بيئة ديناميكيّة تتغيّر باستمرار، لذا لن يكون من السهل على المهندسين الجدد المهتمين بهذا المجال مواكبة تلك التطورات السريعة، لذا فالأمر يتطلّب اجتهادًا وصبرًا طويلين، وهذا يتضمّن:
</p>

<ol>
	<li>
		التعرّف على النماذج مفتوحة المصدر المتوفرة.
	</li>
	<li>
		معرفة مدى مُلاءمة النماذج للمهام المحددة. مثلًا إذا كنت تعمل على مهام تتضمّن توليد اللغة مثل توليد النص أو تلخيصه، فالأفضل غالبًا هي النماذج التي تعتمد على بنية مُفكك التشفير Decoder من نموذج المحولات Transformers مثل GPT أو CTRL، أو بنيتي مُفكك التشفير والمُشفّر Encoder معًا كما في T5.
	</li>
	<li>
		فهم المعايير والمقاييس المستخدمة لتقييم هذه النماذج فبعض المقاييس مُصمّمة لمهام محددة فقط.
	</li>
	<li>
		معرفة النماذج التي تُحقّق أفضل النتائج على المهمة المطلوبة، وذلك وفقًا للمقاييس والمعايير النموذجيّة للمهمة المدروسة.
	</li>
	<li>
		ضمان التوافق مع الأجهزة المتوفرة، مثلًا ChatGPT لايدعم الآندرويد لحظة كتابة هذا المقال.
	</li>
</ol>

<p>
	أما بالنسبة للمهندسين المُنخرطين بالفعل في سوق العمل ويعملون في ظل مواعيد نهائية ضيقة، فربما سيكون من الصعب جدًا عليهم مواكبة أحدث التطورات، والذي يزيد من تعقيد المشكلة هو كثرة المواقع والمجلات والمؤتمرات التي تُنشر فيها أحدث التطورات أو يجري التحدث فيها عن أحدث التطورات، وهذا ما يجعل من الصعب على المهندسين الوصول إلى معلومات شاملة وموحدة.
</p>

<h2 id="-2">
	كيف يمكنني معرفة النماذج مفتوحة المصدر المتاحة لمهمة تلخيص النصوص؟
</h2>

<p>
	بالعودة لمهمة تلخيص النص التي تحدثنا عنها في بداية المقال مبدئيًّا، نوصي باستكشاف مكتبة <a href="https://huggingface.co/datasets/cnn_dailymail" rel="external nofollow">HuggingFace</a> التي تتضمّن دليلًا شاملًا للنماذج مفتوحة المصدر مُصنّفةً حسب المهمة، فهي ممتازة كنقطة انطلاق.
</p>

<p>
	يمكنك الدخول إلى <a href="https://huggingface.co/models?pipeline_tag=summarization&amp;sort=trending" rel="external nofollow">هذا الرابط</a> على سبيل المثال ورؤية العديد من النماذج الخاصة بهذه المهمة. طبعًا بعض هذه النماذج التي ستراها في القائمة بالتأكيد ستتضمّن نماذج اللغة الكبيرة LLMs، وكما تعلم فهذه النماذج تكون مصممة للأغراض العامة (النماذج اللغوية تُصمّم للتعامل مع العديد من المهام) وليس فقط مهمة تصنيف النص، لذا قد لاترغب بذلك، أو إذا كنت ترغب بذلك (الحل الأفضل)، فيتوجّب عليك تكييفها أو ضبطها Fine-tune على مهمة التلخيص المدروسة إن لم تكن مضبوطة عليها مُسبقًا.
</p>

<p>
	لكن في ظل هذا العدد الكبير جدًا من النماذج، قد تنتساءل: ما هي النماذج التي يجب أن أختارها؟ وتزداد الحيرة أكثر بسبب كون هذه النماذج مُدرّبة على أنواع مُختلفة من البيانات، فأحدها ربما يكون مُدرّبًا على تلخيص النشرات الإخباريّة، بالتالي يكون مُدرّبًا على بيانات تتضمّن نشرات أخبار؛ هذا يعني أن هذا النموذج يصلح فقط لتلخيص النصوص الإخباريّة وليس أي نوع آخر، والأسوأ أن بعض النماذج غير معروف ما نوع البيانات المُدرّبة عليها. والإجابة عن هذا السؤال هي "استخدام المقاييس metrics" التي تقيس جودة النموذج بالنسبة للمهمة المطلوبة.
</p>

<h2 id="-3">
	كيف يمكننا تقييم أداء نماذج تلخيص النصوص؟
</h2>

<p>
	يمكن أن تكون الخطوات التالية بمثابة إطار عام لتقييم أي نموذج كان بغض النظر عن المهمة المدروسة، أي سواء كانت مهمة تلخيص النص أم غيرها. تجدر الملاحظة أنّه من أجل أن يكون التقييم دقيقًا، يجب علينا اختبار أداء النموذج على أكثر من مجموعة بيانات، لكن من أجل البساطة، سنجرّب حاليًا على مجموعة بيانات واحدة فقط.
</p>

<ol>
	<li>
		ابحث عن مجموعة بيانات معياريّة (نموذجيّة) تُستخدم في تقييم النموذج المدروس وفقًا للمهمة المطلوبة. طبعًا عندما نقول نموذجيّة أو معياريّة، فهذا يعني أنها مُعتمدة وموثوقة وصالحة وخالية من التحيزات (إلى أكبر حد ممكن) وذات جودة عالية، وذلك لتتماشى مع مبادئ الاستخدام المسؤول للذكاء الاصطناعي. على سبيل المثال يكمن استخدام موقع <a href="https://paperswithcode.com/methods" rel="external nofollow">Paper with code</a>، فهو يوفر أفضل النماذج ومجموعات البيانات التي يُجري الباحثون تقييماتهم عليها. مثلًا <a href="https://paperswithcode.com/task/text-summarization#datasets" rel="external nofollow">هنا</a> يمكنك أن تجد أبرز المجموعات المناسبة لمهمة تلخيص النص (فمجموعات البيانات التي ستراها في الرابط وفي الموقع عمومًا هي مجموعات بيانات معياريّة).
	</li>
	<li>
		التعرّف على المقاييس المُستخدمة لتقييم المهمة المطروحة. طبعًا هناك مقاييس مُحددة لكل مهمة، وقد يكون مقياسًا ما صالحًا لمهمة واحدة أو عدة مهام.
	</li>
	<li>
		إجراء التقييم باستخدام مقياس واحد أو أكثر، وعلى مجموعة بيانات واحدة أو أكثر (يُفضّل أكثر من واحدة).
	</li>
</ol>

<h2 id="-4">
	العثور على مجموعات البيانات
</h2>

<p>
	كما ذكرت في الفقرة السابقة؛ أفضل طريقة هي الذهاب إلى موقع Papers With Code، فهو موقع موثوق تٌنشر فيه أبرز الأوراق البحثيّة في الذكاء الاصطناعي مع مستودعات الشيفرات البرمجية المرتبطة بها.
</p>

<p>
	اذهب أولاً إلى الموقع ثم إلى انتقل لقسم Datasets، ثم ابحث عن "Text Summarization" ثم انتقل إلى قسم Datasets واضغط على "توسيع أو See all" ومن هناك تظهر جميع مجموعات البيانات ذات الصلة مع إمكانية فرزها أو تصفيتها وفق رغبتك. في حالتنا نريد أن نفرزها حسب عدد مرات الاقتباس cite.
</p>

<p>
	نختار الآن مجموعة البيانات الأكثر اقتباسًا والتي غالبًا ماتكون الأكثر شعبية، وهي مجموعة بيانات "CNN/DailyMail" في وقت كتابة هذه المقالة. لاداعي لتحميل مجموعة البيانات حاليًّا، وإنما سنراجع المعلومات المُتعلقة بمجموعة البيانات هذه والموجودة على موقع Papers With Code، وذلك من أجل الخطوة التالية. تجدر الملاحظة إلى أن مجموعة البيانات هذه متاحة أيضًا على Huggingface.
</p>

<p>
	الآن عليك التحقق من 3 أشياء:
</p>

<ul>
	<li>
		الترخيص license: مجموعة البيانات مُرخصة من معهد ماساتشوستس للتكنولوجيا MIT، أي يمكننا استخدامها لكل من المشاريع التجارية والشخصية.
	</li>
	<li>
		الأوراق البحثية الأحدث على هذه البيانات: وذلك لمعرفة فيما إذا كانت الأوراق البحثية التي تستخدم هذه البيانات حديثة أم قديمة. لمعرفة ذلك نفرز الأوراق تنازليًّا. في حالتنا فإن الأوراق التي تستخدم هذه البيانات حديثة (من عام 2023)، وهذا مانرغب به!
	</li>
	<li>
		مدى توفر المعلومات المتعلقة بأصل مجموعة البيانات وعملية جمعها وشفافية الأساليب (مدى صراحة وشمولية توثيق الأساليب المستخدمة لجمع ومعالجة وتنظيم مجموعة البيانات) المستخدمة في إنشائها: مجموعة البيانات مُنشئة من قبل شركة IBM بالشراكة مع جامعة مونتريال، وذلك عظيم! فهذه مصادر موثوقة تلتزم بهذه المتطلبات.
	</li>
</ul>

<p>
	دعونا الآن نستكشف المقاييس المُستخدمة في تقييم أداء النماذج على مجموعة البيانات هذه.
</p>

<h2 id="-5">
	تقييم النماذج
</h2>

<p>
	في هذه المرحلة يجب علينا استكشاف المقاييس التي يُشاع استخدامها من قبل الباحثين في تقييّم نماذج التلخيص على مجموعات البيانات. طبعًا يُفترض أن يكون لديك فهم نظري لمهمة تلخيص النص، وإلا فلن تكون قادرًا على فهم هذه المقاييس.
</p>

<p>
	هناك نوعان مختلفان لمهمة تلخيص النص (يمكن اعتبار كل نوع بمثابة مهمة فرعيّة)، النوع الأول هو "تلخيّص النص التجريدي Abstractive Text Summarization" والثاني "تلخيّص النص الاستخراجي Extractive Text Summarization" في النوع الأول يكون الهدف هو تلخيص النص من حيث المعنى، وهذا يعني أن يكون لدينا جمل جديدة، أما في النوع الثاني فيكون عبارة عن استخلاص مقتطفات بسيطة من النص. بالنسبة لمجموعة البيانات التي سنعمل عليها (<a href="https://paperswithcode.com/sota/abstractive-text-summarization-on-cnn-daily" rel="external nofollow">مقالات CNN</a>)، فهي مرتبطة بالنوع الأول. نلاحظ <a href="https://paperswithcode.com/sota/abstractive-text-summarization-on-cnn-daily" rel="external nofollow">هنا</a> العديد من المصطلحات وهي ROUGE-1 و ROUGE-2 و ROUGE-3، وهي المقاييس الشائعة لهذه المهمة الفرعية، كما نلاحظ العديد من النماذج ونتائجها وفقًا لهذه المقاييس الثلاث، وهو ما نحتاجه. الآن إذا قارنا بين هذه النماذج وفقًا للمقياس الأول، فنلاحظ أن أول 3 نماذج نتائجها متقاربة، حيث نلاحظ أن جميعها تقترب من 50 وهي قيمة واعدة وفقًا لمقياس ROUGE.
</p>

<h2 id="-6">
	اختبار النموذج
</h2>

<p>
	بعد أن تعرّفنا على المقاييس التي يجب أخذها بعين الاعتبار لتقييم النماذج ورؤيتنا لأفضل ثلاثة منها، يمكننا الانتقال إلى مرحلة اختبار النماذج. تجدر الملاحظة أن هذه النماذج يُفضّل أن تُشغّل على وحدة معالجة الرسومات GPU لكونها تنفذ المهام بصورة متزامنة لتحسين الأداء (وبعضها قد لا يعمل إلا عليها)، لكن يمكن أن يكون بعضها قادرًا على العمل على وحدات CPU وبأداء مقبول. دعونا نختار نموذج Pegasus من بين تلك الخيارات، والأمر الذي يجعل اختيارنا موفقًا هو أن هذا النموذج <a href="https://paperswithcode.com/paper/calibrating-sequence-likelihood-improves" rel="external nofollow">جرى تدريبه على مجموعة بيانات CNN التي نعمل معها</a> بالنسبة لمهمة "استخلاص النص التجريدي".
</p>

<p>
	بعد ذلك لنكتب الكود التالي بلغة البرمجة بايثون والذي يستخدم إطار عمل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">باي توش PyTorch</a> للغة بايثون ومكتبة Transformers من Hugging Face ونموذج Pegasus لتلخيص النصوص:
</p>

<pre class="ipsCode" id="ips_uid_5859_8"># We start by installing the transformers library
%pip install transformers sentencepiece
</pre>

<p>
	بعد ذلك علينا الوصول إلى نموذج Pegasus من مكتبة المحولات (مكتبة Huggingface):
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_5859_6" style=""><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">PegasusForConditionalGeneration</span><span class="pun">,</span><span class="pln"> </span><span class="typ">PegasusTokenizer</span><span class="pln"> 
</span><span class="kwd">import</span><span class="pln"> torch 

</span><span class="com"># Set the seed, this will help reproduce results. Changing the seed will </span><span class="pln">
</span><span class="com"># generate new results </span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> transformers </span><span class="kwd">import</span><span class="pln"> set_seed 
set_seed</span><span class="pun">(</span><span class="lit">248602</span><span class="pun">)</span><span class="pln"> 

</span><span class="com"># We're using the version of Pegasus specifically trained for summarization </span><span class="pln">
</span><span class="com"># using the CNN/DailyMail dataset </span><span class="pln">
model_name </span><span class="pun">=</span><span class="pln"> </span><span class="str">"google/pegasus-cnn_dailymail"</span><span class="pln">

</span><span class="com"># If you're following along in Colab, switch your runtime to a</span><span class="pln">
</span><span class="com"># T4 GPU or other CUDA-compliant device for a speedup</span><span class="pln">
device </span><span class="pun">=</span><span class="pln"> </span><span class="str">"cuda"</span><span class="pln"> </span><span class="kwd">if</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">cuda</span><span class="pun">.</span><span class="pln">is_available</span><span class="pun">()</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="str">"cpu"</span><span class="pln"> 

</span><span class="com"># Load the tokenizer</span><span class="pln">
tokenizer </span><span class="pun">=</span><span class="pln"> </span><span class="typ">PegasusTokenizer</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">)</span><span class="pln"> 

</span><span class="com"># Load the model </span><span class="pln">
model </span><span class="pun">=</span><span class="pln"> </span><span class="typ">PegasusForConditionalGeneration</span><span class="pun">.</span><span class="pln">from_pretrained</span><span class="pun">(</span><span class="pln">model_name</span><span class="pun">).</span><span class="pln">to</span><span class="pun">(</span><span class="pln">device</span><span class="pun">)</span><span class="pln">

</span><span class="com"># Tokenize the entire content</span><span class="pln">
batch </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">(</span><span class="pln">content</span><span class="pun">,</span><span class="pln"> padding</span><span class="pun">=</span><span class="str">"longest"</span><span class="pun">,</span><span class="pln"> return_tensors</span><span class="pun">=</span><span class="str">"pt"</span><span class="pun">).</span><span class="pln">to</span><span class="pun">(</span><span class="pln">device</span><span class="pun">)</span><span class="pln">

</span><span class="com"># Generate the summary as tokens</span><span class="pln">
summarized </span><span class="pun">=</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">generate</span><span class="pun">(**</span><span class="pln">batch</span><span class="pun">)</span><span class="pln">

</span><span class="com"># Decode the tokens back into text</span><span class="pln">
summarized_decoded </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">batch_decode</span><span class="pun">(</span><span class="pln">summarized</span><span class="pun">,</span><span class="pln"> skip_special_tokens</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
summarized_text </span><span class="pun">=</span><span class="pln"> summarized_decoded</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">

</span><span class="com"># Compare</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> compare</span><span class="pun">(</span><span class="pln">original</span><span class="pun">,</span><span class="pln"> summarized_text</span><span class="pun">):</span><span class="pln">
  </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"Article text length: {len(original)}\n"</span><span class="pun">)</span><span class="pln">
  </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">textwrap</span><span class="pun">.</span><span class="pln">fill</span><span class="pun">(</span><span class="pln">summarized_text</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100</span><span class="pun">))</span><span class="pln">
  </span><span class="kwd">print</span><span class="pun">()</span><span class="pln">
  </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"Summarized length: {len(summarized_text)}"</span><span class="pun">)</span><span class="pln">

compare</span><span class="pun">(</span><span class="pln">content</span><span class="pun">,</span><span class="pln"> summarized_text</span><span class="pun">)</span></pre>

<p>
	عند تنفيذ الكود سنحصل على تلخيص النص الأصلي content المكون من 1427 حرفًا، وكما تلاحظ يحتوي التلخيص summarized_text على 320 حرفًا فقط ويركز على العبارات والجمل الهامة في النص الأصلي.
</p>

<pre class="ipsCode">Article text length: 1427

Trustworthy AI should enable people to decide how their data is used.&lt;n&gt;values and goals of a system
should be power aware and seek to minimize harm.&lt;n&gt;People should have agency and control over their
data and algorithmic outputs.&lt;n&gt;Developers need to implement strong measures to protect our data and
personal security.

Summarized length: 320
</pre>

<p>
	تعمل الأمور بطريقة صحيحة، لكن يبدو أن النص المُلخّص موجزًا جدًا ويحتاج إلى تضمين المزيد من التفاصيل أو السياق. لنرى فيما إذا كان بالإمكان جعل المُلخّص أكثر شمولًا وتفصيلًا. لنقم بإجراء بعض التعديلات على الكود بهدف تغيير طول ومحتوى التلخيص الناتج، بداية لنغير قيمة متغير "البذرة seed" من 248602 إلى 860912 لتوليد نتائج جديدة كما يلي:
</p>

<p>
	<strong>ملاحظة:</strong> نستخدم مفهوم البذور seeds لتهيئة مولّد الأرقام العشوائية، حيث أنّه يحتاج إلى رقم يبدأ به (قيمة أولية) حتى يتمكن من إنشاء رقم عشوائي. افتراضيًّا يستخدم وقت النظام الحالي.
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_6419_7" style=""><span class="pln">set_seed</span><span class="pun">(</span><span class="lit">860912</span><span class="pun">)</span><span class="pln">

</span><span class="com"># Generate the summary as tokens, with a max_new_tokens</span><span class="pln">
summarized </span><span class="pun">=</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">generate</span><span class="pun">(**</span><span class="pln">batch</span><span class="pun">,</span><span class="pln"> max_new_tokens</span><span class="pun">=</span><span class="lit">800</span><span class="pun">)</span><span class="pln">
summarized_decoded </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">batch_decode</span><span class="pun">(</span><span class="pln">summarized</span><span class="pun">,</span><span class="pln"> skip_special_tokens</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
summarized_text </span><span class="pun">=</span><span class="pln"> summarized_decoded</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">

compare</span><span class="pun">(</span><span class="pln">content</span><span class="pun">,</span><span class="pln"> summarized_text</span><span class="pun">)</span></pre>

<p>
	ستكون النتيجة على النحو التالي:
</p>

<pre class="ipsCode">Article text length: 1427

Trustworthy AI should enable people to decide how their data is used.&lt;n&gt;values and goals of a system
should be power aware and seek to minimize harm.&lt;n&gt;People should have agency and control over their
data and algorithmic outputs.&lt;n&gt;Developers need to implement strong measures to protect our data and
personal security.

Summarized length: 320
</pre>

<p>
	يبدو أن الأمر لم ينجح أيضًا. لنحاول تجريب أسلوب فك تشفير يُسمّى "أخذ العينات sampling"، حيث يختار النموذج الكلمة التالية في النص بناءً على توزيعها الاحتمالي الشرطي (أي احتمال اختيار كلمة ما، بالنظر إلى الكلمات السابقة). هنا يكون لدينا مُتغير يسمى "درجة الحرارة temperature" للتحكم في مستوى العشوائية والإبداع في المخرجات المولّدة. هذه المعلمة تُعدّل الاحتمالات قبل أخذ العينات. تؤدي درجة الحرارة المرتفعة إلى زيادة العشوائية (أي ليس من الضروري أن يأخذ الكلمة الأكبر احتمالًا دومًا)، بالتالي مخرجات أكثر تنوعًا وإبداعًا، والعكس من ذلك يجعل عملية أخذ العينات أكثر حتمية ودقة.
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_6419_9" style=""><span class="pln">set_seed</span><span class="pun">(</span><span class="lit">118511</span><span class="pun">)</span><span class="pln">
summarized </span><span class="pun">=</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">generate</span><span class="pun">(**</span><span class="pln">batch</span><span class="pun">,</span><span class="pln"> do_sample</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln"> temperature</span><span class="pun">=</span><span class="lit">0.8</span><span class="pun">,</span><span class="pln"> top_k</span><span class="pun">=</span><span class="lit">0</span><span class="pun">)</span><span class="pln">
summarized_decoded </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">batch_decode</span><span class="pun">(</span><span class="pln">summarized</span><span class="pun">,</span><span class="pln"> skip_special_tokens</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
summarized_text </span><span class="pun">=</span><span class="pln"> summarized_decoded</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">
compare</span><span class="pun">(</span><span class="pln">content</span><span class="pun">,</span><span class="pln"> summarized_text</span><span class="pun">)</span></pre>

<p>
	سنحصل الآن على النتيجة التالية:
</p>

<pre class="ipsCode">Article text length: 1427

Mozilla's "Trustworthy AI" Thinking Points:.&lt;n&gt;People should have agency and control over their data
and algorithmic outputs.&lt;n&gt;Developers need to implement strong measures to protect our data.

Summarized length: 193
</pre>

<p>
	نلاحظ أن الخرج أقصر، لكنه ذو جودة أعلى. ربما إذا رفعنا متغير درجة الحرارة temperature، ستكون النتيجة أفضل.
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_6419_11" style=""><span class="pln">set_seed</span><span class="pun">(</span><span class="lit">108814</span><span class="pun">)</span><span class="pln">
summarized </span><span class="pun">=</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">generate</span><span class="pun">(**</span><span class="pln">batch</span><span class="pun">,</span><span class="pln"> do_sample</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln"> temperature</span><span class="pun">=</span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> top_k</span><span class="pun">=</span><span class="lit">0</span><span class="pun">)</span><span class="pln">
summarized_decoded </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">batch_decode</span><span class="pun">(</span><span class="pln">summarized</span><span class="pun">,</span><span class="pln"> skip_special_tokens</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
summarized_text </span><span class="pun">=</span><span class="pln"> summarized_decoded</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">
compare</span><span class="pun">(</span><span class="pln">content</span><span class="pun">,</span><span class="pln"> summarized_text</span><span class="pun">)</span></pre>

<p>
	هذا هو التخليص الناتج وهو كما تلاحظ أكثر وضوحًا من التلخيص السابق:
</p>

<pre class="ipsCode">Article text length: 1427

Mozilla's "Trustworthy AI" Thinking Points:.&lt;n&gt;People should have agency and control over their data
and algorithmic outputs.&lt;n&gt;Developers need to implement strong measures to protect our data and
personal security.&lt;n&gt;We need to mandate transparency so that we can fully understand these systems
and their potential for harm.

Summarized length: 325
</pre>

<p>
	دعونا نستخدم الآن طريقة فك تشفير تدعىtop_k، وهي طريقة تعتمد على أخذ الكلمات k الأعلى احتمالًا (الكلمات المُرشّحة)، ثم الاختيار عشوائيًّا بينها. يهدف هذا النهج إلى السماح للنموذج بأن يكون دقيقًا مع هامش من الإبداع بفضل إدخال العشوائية في الاختيار. والمعلمة k هي معلمة يجب ضبطها بدقة لتحقيق التوازن بين الدقة والإبداع، فمع القيم الكبيرة لها قد يبدو النص بلا معنى وأقل تماسكًا، ومع القيم الصغيرة ستكون النتائج حتميّة وخاليّة من أي إبداع، وقد تتضمّن جملًا مكررة.
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_6419_13" style=""><span class="pln">set_seed</span><span class="pun">(</span><span class="lit">226012</span><span class="pun">)</span><span class="pln">
summarized </span><span class="pun">=</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">generate</span><span class="pun">(**</span><span class="pln">batch</span><span class="pun">,</span><span class="pln"> do_sample</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln"> top_k</span><span class="pun">=</span><span class="lit">50</span><span class="pun">)</span><span class="pln">
summarized_decoded </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">batch_decode</span><span class="pun">(</span><span class="pln">summarized</span><span class="pun">,</span><span class="pln"> skip_special_tokens</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
summarized_text </span><span class="pun">=</span><span class="pln"> summarized_decoded</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">
compare</span><span class="pun">(</span><span class="pln">content</span><span class="pun">,</span><span class="pln"> summarized_text</span><span class="pun">)</span></pre>

<p>
	بعد القيام بالتغييرات السابقة لاحظ التلخيص الناتج:
</p>

<pre class="ipsCode">Mozilla's "Trustworthy AI" Thinking Points look at ethical issues surrounding automated decision
making.&lt;n&gt;values and goals of a system should be power aware and seek to minimize harm.People
should have agency and control over their data and algorithmic outputs.&lt;n&gt;Developers need to
implement strong measures to protect our data and personal security.

Summarized length: 355
</pre>

<p>
	دعونا الآن نجرّب نهجًا يدعى <code>top-p</code> أو أخذ عينات النواة Nucleus sampling، وهنا تشير p إلى قيمة حديّة، عند تجاوزها نتوقف عن ترشيح كلمات جديدة. بمعنى أوضح، تُفرز الكلمات تنازليًّا وفقًا لاحتمالاتها، ثم نبدأ باختيار الكلمات واحدة تلو الأخرى حتى يصبح مجموع احتمالاتها أكبر من p، ثم بعد ذلك نختار إحدى الكلمات المُرشحة عشوائيًا. توفّر هذه الطريقة أيضًا التوازن بين العشوائية والحتمية. فقيم p القريبة من 1 تعطي خرجًا أكثر تنوعًا والقيم القريبة من 0 أكثر حتمية. الفرق بينه وبين <code>top_k</code> هو أن عدد الكلمات المُرشّحة يكون ديناميكيًّا وأكثر قابليّة للتكيّف وفقًا للتوزيع الاحتمالي للكلمة التالية على طول مجموعة المفردات.
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_6419_15" style=""><span class="pln">set_seed</span><span class="pun">(</span><span class="lit">21420041</span><span class="pun">)</span><span class="pln">
summarized </span><span class="pun">=</span><span class="pln"> model</span><span class="pun">.</span><span class="pln">generate</span><span class="pun">(**</span><span class="pln">batch</span><span class="pun">,</span><span class="pln"> do_sample</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">,</span><span class="pln"> top_p</span><span class="pun">=</span><span class="lit">0.9</span><span class="pun">,</span><span class="pln"> top_k</span><span class="pun">=</span><span class="lit">50</span><span class="pun">)</span><span class="pln">
summarized_decoded </span><span class="pun">=</span><span class="pln"> tokenizer</span><span class="pun">.</span><span class="pln">batch_decode</span><span class="pun">(</span><span class="pln">summarized</span><span class="pun">,</span><span class="pln"> skip_special_tokens</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
summarized_text </span><span class="pun">=</span><span class="pln"> summarized_decoded</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">
compare</span><span class="pun">(</span><span class="pln">content</span><span class="pun">,</span><span class="pln"> summarized_text</span><span class="pun">)</span><span class="pln">

</span><span class="com"># saving this for later.</span><span class="pln">
pegasus_summarized_text </span><span class="pun">=</span><span class="pln"> summarized_text</span></pre>

<p>
	سيكون التخليص الآن على النحو التالي:
</p>

<pre class="ipsCode">Article text length: 1427

Mozilla's "Trustworthy AI" Thinking Points:.&lt;n&gt;People should have agency and control over their data
and algorithmic outputs.&lt;n&gt;Developers need to implement strong measures to protect our data and
personal security.&lt;n&gt;We need to mandate transparency so that we can fully understand these systems
and their potential for harm.

Summarized length: 325
</pre>

<p>
	قد نتساءل ما هي الطريقة الأفضل لفك التشفير. لسوء الحظ، لا توجد طريقة "أفضل" لفك التشفير، ويعتمد اختيار النهج الأفضل على طبيعة البيانات التي تُنشئ مُلخصًا لها ونوع هذه النصوص، وعلى درجة الإبداع و الحتمية التي تريد أن تراها في النص الناتج.
</p>

<p>
	وبذلك نكون قد وصلنا إلى نهاية المقالة، حيث تحدّثنا فيها عن مهمة تلخيص النص، وعن كيفية استخدام أحدث النماذج لإنجاز ذلك.
</p>

<p>
	ترجمة -وبتصرُّف- للمقال <a href="https://hacks.mozilla.org/2023/11/mozilla-ai-guide-launch-with-summarization-code-example/" rel="external nofollow">Mozilla AI Guide Launch with Summarization Code Example</a> لصاحبه Melissa Thermidor.
</p>

<h2 id="-7">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">مدخل إلى الذكاء الاصطناعي وتعلم الآلة</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة Machine Learning - الذكاء الاصطناعي</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">عشرة مشاريع عملية عن الذكاء الاصطناعي</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%86%D9%85%D8%A7%D8%B0%D8%AC-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-r1938/" rel="">أدوات برمجة نماذج تعلم الآلة</a>.
	</li>
</ul>
]]></description><guid isPermaLink="false">2315</guid><pubDate>Thu, 02 May 2024 12:02:00 +0000</pubDate></item><item><title>&#x627;&#x633;&#x623;&#x644; &#x645;&#x647;&#x646;&#x62F;&#x633; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;: &#x623;&#x633;&#x626;&#x644;&#x629; &#x634;&#x627;&#x626;&#x639;&#x629; &#x62D;&#x648;&#x644; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D8%B3%D8%A3%D9%84-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A3%D8%B3%D8%A6%D9%84%D8%A9-%D8%B4%D8%A7%D8%A6%D8%B9%D8%A9-%D8%AD%D9%88%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2313/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_04/--------.png.95928cde416100c5743c6ee45082e24a.png" /></p>
<p>
	تُقدّم هذه المقالة مجموعةً من الأسئلة والأجوبة المتقدمة حول تخصص الذكاء الاصطناعي Artificial Intelligence. تشمل الأسئلة موضوعات عديدة مثل تأثير استخدام تقنيات الذكاء الاصطناعي وتعلّم الآلة Machine Learning، واستراتيجيات التعامل مع نماذج اللغة الكبيرة Large language models، ورؤى حول التطبيقات المستقبليّة للذكاء الاصطناعي.
</p>

<p>
	طُرحت هذه الأسئلة على مهندس ذكاء اصطناعي، ونظمت إجاباتها ضمن فقرات هذا المقال، ونرجو أن تقدم لكم المعرفة التي تفيدهم حول هذا التخصص الرائد.
</p>

<h2 id="-1">
	أسئلة حول التأثير الحالي والمستقبلي للذكاء الاصطناعي
</h2>

<p>
	هناك العديد من الأسئلة التي تطرح نفسها حول التأثير الحالي والمستقبلي للذكاء الاصطناعي في العديد من المجالات والقطاعات. إليك أهم هذه الأسئلة وإجاباتها.
</p>

<h3 id="-2">
	ما هي التطبيقات والفوائد الجوهريّة للذكاء الاصطناعي في مجال الرعاية الصحية؟
</h3>

<p>
	يستخدم الذكاء الاصطناعي في العديد من التطبيقات ويعد الذكاء الاصطناعي جزءًا أساسيًّا في قطاع الرعاية الصحية في وقتنا الراهن، وهناك تمويل جيد لتعزيز تطبيق الذكاء الاصطناعي في هذا القطاع بهدف تطويره وتحسينه. ولعل أكثر الاتجاهات البحثية المثيرة للاهتمام المُتعلقة بهذا المجال هو استخدام تقنيات التعلّم العميق Deep Learning لاكتشاف الأدوية المناسبة (مثل اكتشاف المُركبات الدوائية ذات الخصائص المضادة لبكتيريا محددة) وسيعود بفوائد كبيرة لقطاع الرعاية الصحيّة، ويُعتقد أنها ستعطي دفعة كبيرة لمستقبل البشرية. لكن من ناحيةٍ أخرى، فإن أحد المخاوف المرتبطة باستخدام تقنيات الذكاء الاصطناعي في مجال الطب والرعاية الصحية هو بطء وتيرة إجراءات الموافقة القانونيّة على استخدام هكذا تقنيات، والتأخر في صياغة ووضع اللوائح التنظيميّة والقواعد ذات الصلة، مقارنًة بوتيرة التقدّم السريع للذكاء الاصطناعي.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="148841" href="https://academy.hsoub.com/uploads/monthly_2024_04/--.png.89636d12b4f0286dcd8728dff587a712.png" rel=""><img alt="تطبيقات الذكاء الاصطناعي" class="ipsImage ipsImage_thumbnailed" data-fileid="148841" data-unique="kj9w79qby" style="width: 699px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2024_04/--.thumb.png.79918b0ba170a002202f302c21b38445.png"> </a>
</p>

<h3 id="-3">
	ماهي حدود قدرات التحليلات التنبؤية التي تُقدّمها أنظمة الذكاء الاصطناعي وما أفضل خوارزميات التحليل التنبؤي؟
</h3>

<p>
	قد يعتقد البعض أن بإمكان تقنيات الذكاء الاصطناعي الحاليّة أن تتنبأ بأي شيء تريده لكن هذا غير صحيح إطلاقًا في الوقت الحالي. فقدرة الذكاء الاصطناعي على التنبؤ تعتمد على عدة عوامل، مثل توفر البيانات الضرورية والملائمة للمهمة التي يُراد التنبؤ بها، ودرجة تعقيد المهمة فبعض المهام أكثر تعقيدًا وصعوبة من غيرها وجودة وفعالية النموذج المستخدم للتنبؤ. فإذا لم يكن النموذج جيدًا أو لم يتم تدريبه بشكل كافٍ، سيكون التنبؤ غير دقيق.
</p>

<p>
	بالنسبة للشق الثاني من السؤال والمتعلّق بأفضل خوارزميات الذكاء الاصطناعي، فالعديد من الخبراء يميلون إلى استخدام خوارزميات الشبكات العصبيّة Neural Networks في وقتنا الحالي، وهي خوارزميات مفيدة لكنها ليست بالضرورة هي الخيار الأفضل لكل المهام مثل حالات تحليل الانحدار Regression analysis التي تركز على توقع القيم المستقبلية استنادًا إلى العلاقات الإحصائية بين المتغيرات، أو الحالات التي تكون فيها البيانات مُنظّمة في جداول، في هذه الحالة تكون خوارزميات أشجار القرار Decision Trees وخوارزميات الغابات العشوائية Random Forests أنسب منها.
</p>

<h3 id="-4">
	كيف يمكن أن تحسن تقنيات الذكاء الاصطناعي مثل معالجة اللغة الطبيعية والرؤية الحاسوبيّة محركات البحث؟
</h3>

<p>
	تُطرَحُ تساؤلات عديدة حول تأثير تقنيات معالجة اللغة الطبيعية ونماذج اللغة الكبيرة مثل ChatGPT على سيو SEO محركات البحث، فهو موضوع يثير اهتمام العديد من الأشخاص والشركات، إذ يمكن أن يؤثر استخدام التقنيات الذكية في إنتاج المحتوى على أداء مواقع الويب في نتائج محركات البحث.
</p>

<p>
	ويُتوقّع أن الأفراد والشركات بعيدي النظر والذين يفهمون كيف تُدار الأعمال، سيعتمدون على استخدام تقنيات معالجة اللغة الطبيعية ونماذج اللغة الكبيرة والتحليلات الإحصائية المُعتمدة على الذكاء الاصطناعي في العديد من المهام مثل تحليل السوق ومراقبة وتحليل المنافسين، ويُعتقد أن هذه الأدوات والممارسات ستصبح مُنتشرة في المستقبل وستكون متاحة للجميع.
</p>

<h3 id="amd">
	هل من المتوقّع أن تُحدث شريحة الذكاء الاصطناعي التي كشفت عنها شركة AMD ثورةً في مجال الحوسبة؟
</h3>

<p>
	توفر شريحة AMD على معالجة البيانات بسرعة فائقة ويتوقع أن تكون مثالية لتطبيقات الذكاء الاصطناعي، لكن لا نمتلك حاليًا بيانات كافية لتحديد ما إذا كانت هذه الشريحة ستُحدث ثورة حقيقية في الحوسبة أم لا. لكنها بالتأكيد ستخلق جوًا من المنافسة بين الشركات التي تطوّر شرائح خاصة لمهام الذكاء الاصطناعي.
</p>

<h3 id="-5">
	ما هي أهمية تعلم المواضيع الأساسيّة في الذكاء الاصطناعي للجيل القادم؟
</h3>

<p>
	لقد أحدثت التطورات الأخيرة في الذكاء الاصطناعي ضجة كبيرة، وكثر الحديث عن أنها ستُغيّر شكل الصناعات وحياتنا عمومًا، وكما يبدو فالذكاء الصناعي قادر على ذلك وهو موجود ليبقى. لذا فنحن بحاجة فعلًا إلى تدريس أساسيات الذكاء الاصطناعي لطلاب الثانويّة وحتى الطلاب الأصغر سنًا، وأحد أهم المواضيع التي يجب أن تُدرّس، هي أن الذكاء الاصطناعي ليس سحرًا ولا يملك وعيًا، إنّه ببساطة علم يعتمد على الرياضيات
</p>

<p>
	وتكمن أهمية تعليم أدوات الذكاء الاصطناعي للجيل القادم، بأنه سيُمهّد الطريق لهم، ويعزّز رغبتهم بالانخراط في هذا العلم، ويجعلهم أكثر وعيًا بحقيقته، وما يمكنه ولا يمكنه فعله، فالإنسان يخاف مما يجهله بل هو عدو ما يجهله كما يقول المثل.
</p>

<h2 id="-6">
	كيف يمكن الاستفادة من الذكاء الاصطناعي والتعلم الآلي ونماذج اللغة الكبيرة في تطوير التطبيقات
</h2>

<p>
	من الضروري لك لمطوّر ليس لديه خبرة في نظريات الذكاء الاصطناعي وتعلّم الآلة، البدء باستخدام هذه التقنيات في عمليات تطوير المنتجات، هناك أدوات سهلة الاستخادم وعالية المستوى تُغلّف كل التفاصيل البرمجية المُعقدة لكن يفضل أن يعتمد المطور عليها في بداية رحلته (لاحقًا نعم، لكن في البداية لابد أن تعرف كواليس تلك الأدوات والتنفيذات).
</p>

<p>
	أما إذا لم يكن هناك الوقت الكافي أو أن المرء لايرى شغفًا في الذكاء الاصطناعي أو التعلّم الآلي، فإن الأدوات الجاهزة عالية المستوى فكرة رائعة. كما تجدر الإشارة إلى أنه في الآونة الأخيرة حدث تطوّر كبير في أدوات الذكاء الاصطناعي، وهذا يجعل عمليّة التعلّم أصعب بالتأكيد، وفي نفس الوقت يجعل فكرة استخدام الأدوات الجاهزة أسهل. باختصار، اختر معاركك بحكمة.
</p>

<h3 id="llm">
	هل من الممكن تحسين نموذج لغة كبير LLM ليجيب على الأسئلة في الزمن الحقيقي؟
</h3>

<p>
	نعم بالتأكيد هناك إمكانية للتحسين. فالنماذج اللغوية الكبيرة هي نماذج معقدة تجري ضمنها العديد من العمليات الحسابيّة قبل إعطاء الخرج أو التنبؤ، وهذا مايترتب عليه تأخيرًا في الاستجابة، ويزداد هذا التأخير كلما زاد حجم النموذج أو الموارد اللازمة لتشغيل هذا النموذج (مثل وحدات معالجة الرسومات GPUs).
</p>

<h3 id="-7">
	كيف يمكن نشر النماذج اللغوية في بيئة الإنتاج؟
</h3>

<p>
	بالنسبة لشخص يريد نشر نموذج لغة كبير LLM لأغراض الإنتاج. قد تتضمّن خطة النشر إنشاء واجهة برمجة تطبيقات باستخدام FastAPI ونشرها إما على Hugging Face أو منصة سحابية أخرى. العامل المركزي المؤثر على القرار هو الميزانية المخصصة للمشروع. إذا كانت الميزانيّة كبيرة نسبيًّا يمكنك شراء وحدات GPUs باهظة الثمن من Amazon Web Services، وبالتالي ضمان أداء عالي المستوى. أما إذا كانت الميزانيّة التي لديك محدودة فربما استخدام FastAPI (إطار ويب سريع لبناء واجهات برمجة التطبيقات) ونموذج لغة أقل تعقيدًا مثل بيرت BERT سيكون خيارًا أقل كلفة، ولاسيما مع إمكانية تشغيله على وحدة المعالجة المركزية CPU بدلاً من GPU.
</p>

<h2 id="-8">
	أسئلة حول تطوير المهارات وتعلّم تطوير الذكاء الاصطناعي
</h2>

<p>
	يطرح المهتمون يتطوير تطبيقات ذكية الكثير من التساؤلات حول المهارات الأساسية التي يحتاجون إليها لمواكبة التطورات ودمج تقنيات الذكاء الاصطناعي في تطبيقاتهم، نسلط الضوء في فقراتنا التالية على أهم هذه الأسئلة.
</p>

<h3 id="-9">
	ما هي المهارات الأساسية التي يجب أن يكتسبها المطوّر لينافس في ظل تطور الذكاء الاصطناعي؟
</h3>

<p>
	في ظل ظهور نماذج اللغات الكبيرة LLMs القادرة على كتابة التعليمات البرمجية تظهر مخاوف عديدة حول إمكانية الاستغناء عن المطورين والمبرمجين لكننا في الواقع لم نصل بعد إلى هذه النقطة حاليًا ولا يُتوقع أن الذكاء الاصطناعي سوف يتفوق في أمور مثل التعامل مع المواقف أو الظروف غير العادية أو غير النمطيّة أو متطلبات وتفضيلات المُستخدم الخاصة (على الرغم من أن هذا قد يحدث خلال السنوات العشر إلى الخمس عشرة القادمة). لذا يُنصح بتعلم كيفية استخدام الذكاء الاصطناعي التوليدي، فمن شأنه توفير الوقت والجهد في كتابة التعليمات البرمجية، وتوفير قدراتنا العقلية لإجراء مهام مثل التأكد من أن التعليمات البرمجية تعمل على النحو المنشود في السيناريوهات العملية المختلفة. بالتالي بدلاً من قضاء 40 ساعة في تطوير برنامج واحد، يمكن أن نعمل على تطوير 10 برامج في نفس المدة.
</p>

<h3 id="-10">
	ما هي الدورات والمهارات اللازم تعلّمها للانتقال إلى مجال تطوير نماذج اللغات الكبيرة؟
</h3>

<p>
	بالنسبة لشخص لديه معلومات حول أساسيات الذكاء الصناعي، يجب بدايةً التركيّز على أساسيات معالجة اللغة الطبيعيّة NLP، ثم الخوض واستكشاف النماذج اللغوية الكبيرة عبر منصات التعلّم عبر الإنترنت لفهم الأمور الأساسيّة المتعلّقة بها مثل التضمينات Embeddings والمحوّلات Transformers، ثم الانتقال إلى مكتبة HuggingFace والتعرّف عليها وعلى كيفيّة استخدام نماذج اللغة من خلالها، وهذا يفترض أن يكون أكثر سهولة بالنسبة لشخص لديه خلفية في الذكاء الصناعي ومكتباته.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="148840" href="https://academy.hsoub.com/uploads/monthly_2024_04/--.png.97800f297160517fad5caaa988d8ef92.png" rel=""><img alt="أدوات الذكاء الاصطناعي" class="ipsImage ipsImage_thumbnailed" data-fileid="148840" data-ratio="66.11" data-unique="989zrgeuo" style="width: 700px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2024_04/--.thumb.png.b8dfbea772f26ae44dce63c42ff84ff4.png"></a>
</p>

<h3 id="-11">
	ماهي المصادر أو الأدوات أو أطر العمل أو المشاريع النموذجية لمهندسي الذكاء الاصطناعي؟
</h3>

<p>
	يقترح الخبراء أمرين رئيسيين غالبًا؛ الأمر الأول هو الدورات عبر الإنترنت التي توفّر لك مواردًا متنوعةً وقيّمة، أو في حال كنت جديدًا على مجال الذكاء الاصطناعي وعلوم البيانات.الأمر الثاني هو المشاركة في ورش العمل فهي تعمل على صقل ماتعلمته من خلال البدء في بناء وتجربة نماذج التعلّم الآلي والذكاء الاصطناعي.
</p>

<h2>
	الخلاصة
</h2>

<p>
	وصلنا لختام هذا المقال الذي أجبنا فيه على أبرز أسئلة الذكاء الاصطناعي، واستكشفنا فيه أهمية تعلم الذكاء الاصطناعي وأبرز المهارات الواجب تعلمها للتخصص في مجال الذكاء الاصطناعي ومصادر مفيدة لتعلم استخدام نماذج اللغات الكبيرة LLMs في التطبيقات المختلفة. هل لديك أي سؤال آخر وتود معرفته حول تخصص الذكاء الاصطناعي، لا تتردد في طرحه في قسم النقاش أسفل المقال.
</p>

<p>
	ترجمة -وبتصرُّف- للمقال <a href="https://mostaql.com/redirect?url=eyJpdiI6InlwblJtVmJDM1J2WkJlVCsvRjNUeVE9PSIsInZhbHVlIjoidUFqeHlsL05wNUw4L1FEUG1YckxEMmVrUzZoOWlwQnE3R2lPamxnbVZ0MWFldFRJVGNlNzgrMVp0Y2ZlcWtGNUNLOUg2SW5RTlAyQ0ZNeDMwUy9ibmFPSlhuZWVIaEVESUYzWStTRGZwN0k9IiwibWFjIjoiODIzMzFhNjYzNjhmNDczN2JhZjQ0MDlkZTQyZDExZGM4N2JmOGFhMTQwYjJlOTBkMWRlMDNmYTkyMDYwMDk4MyIsInRhZyI6IiJ9" rel="external">Ask an AI Engineer: Trending Questions About Artificial Intelligence</a> لصاحبه Joao Diogo de Oliveira.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">مدخل إلى الذكاء الاصطناعي وتعلم الآلة</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة Machine Learning - الذكاء الاصطناعي</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">عشرة مشاريع عملية عن الذكاء الاصطناعي</a>.
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%86%D9%85%D8%A7%D8%B0%D8%AC-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-r1938/" rel="">أدوات برمجة نماذج تعلم الآلة</a>.
	</li>
</ul>
]]></description><guid isPermaLink="false">2313</guid><pubDate>Tue, 30 Apr 2024 12:07:02 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x625;&#x637;&#x627;&#x631; &#x639;&#x645;&#x644; &#x628;&#x627;&#x64A; &#x62A;&#x648;&#x631;&#x634; PyTorch &#x648;&#x623;&#x647;&#x645;&#x64A;&#x62A;&#x647; &#x644;&#x62A;&#x637;&#x628;&#x64A;&#x642;&#x627;&#x62A; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_04/_------PyTorch-.png.f375214b30c83f5059ecf4d3d1419251.png" /></p>
<p>
	لا يوجد شخص مهتم بالذكاء الاصطناعي لا يعرف بأن لغة البرمجة بايثون هي واحدة من أهم لغات برمجة الذكاء الاصطناعي وتعلم الآلة فهي توفر الكثير من المكتبات وأطر العمل التي تعزز هذا المجال.
</p>

<p>
	وسنعرفك في مقال اليوم أحد أشهر أطر عمل الذكاء الاصطناعي والتعلم العميق Deep Learning في لغة بايثون وهو على إطار عمل باي تورش PyTorch الذي اكتسب شهرة واسعة خلال السنوات الأخيرة، وأصبح اليوم واحدًا من الأدوات الأكثر استخدامًا في العالم في مجال تعلم الآلة، ونوضح لك أبرز مميزاته واستخداماته وطريقة التعامل معه.
</p>

<h2 id="pytorch-1">
	ما هو باي تورش PyTorch
</h2>

<p>
	باي تورش PyTorch هو إطار عمل مفتوح المصدر للتعلم العميق، والتعلم العميق هو أحد فروع الذكاء الاصطناعي (AI) يستخدم الشبكات العصبية artificial neural network للتعلم من البيانات وتنفيذ مهام مثل الرؤية الحاسوبية ومعالجة اللغة الطبيعية والتعرف على الكلام.
</p>

<p>
	طُوّرَ إطار PyTorch من قبل فريق بحث الذكاء الاصطناعي في شركة ميتا (فيسبوك سابقًا) عام 2016 استنادًا إلى مكتبة تورش السابقة Torch المستندة بدورها إلى لغة البرمجة Lua، وهو مكتوب بلغة البرمجة الشهيرة بايثون Python ويعد اليوم إطار عمل ذائع الصيت ويملك مجتمعًا كبيرًا من المساهمين والمطورين وهو يستخدم في العديد من الشركات الكبرى مثل Tesla و Uber وغيرها.
</p>

<p>
	وما نعنيه هنا بإطار التعلم العميق منصة برمجية توفر لك طبقة تجريدية تمكنك من بناء وتدريب الشبكات العصبية العميقة ونشرها بسهولة كبيرة، فالهدف من إطار العمل باي تورش PyTorch هو تمكين المستخدمين من تنفيذ مهام التعلم العميق بطريقة بسيطة وفعالة. فإنشاء نماذج من الصفر في تطبيقات الذكاء الاصطناعي المختلفة مثل التعرف على الصور أو معالجة اللغة الطبيعية، أمر صعب ومعقد لذا يجب الاعتماد على النماذج المدربة مسبقًا في البحث والتطوير وهذا ما يوفره لك إطار باي تورش PyTorch للمختصين في الذكاء الاصطناعي.
</p>

<p>
	فمن خلال استخدام أطر العمل مثل باي تورش PyTorch لن يكون هناك حاجة لكتابة الكثير من الشيفرات البرمجية ويمكن استخدام نماذج معقدة بعدد قليل من السطور البرمجية فقط وهذا ما يجعله يعتبر خيارًا ممتازًا للباحثين والمطورين الذين يبحثون عن أداة تعلم عميق مرنة وسهلة الاستخدام ويمكن تخصيصها لتلبية احتياجاتهم الخاصة.
</p>

<p>
	ملاحظة: تمثل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%B4%D8%A8%D9%83%D8%A9-%D8%B9%D8%B5%D8%A8%D9%8A%D8%A9-%D8%B5%D9%86%D8%B9%D9%8A%D8%A9-%D9%88%D8%AA%D8%AF%D8%B1%D9%8A%D8%A8%D9%87%D8%A7-%D9%84%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%AC%D9%88%D9%87-r1198/" rel="">الشبكة العصبية الاصطناعية</a> نوعًا من الخوارزميات المستخدمة لنمذجة البيانات ذات الأنماط المعقدة. وتحاكي الشبكة العصبية عمل الدماغ البشري من خلال الاعتماد على طبقات متعددة متصلة ببعضها البعض بواسطة عقد Nodes تعالج البيانات قوم بالمعالجة وتتصرف مثل الخلايا العصبية البشرية. إذ تُنشئ هذه الطبقات المتصلة بالعقد شبكة معقدة قادرة على معالجة وفهم كميات ضخمة من البيانات.
</p>

<h2 id="pytorch-2">
	استخدامات PyTorch
</h2>

<p>
	يتميز باي تورش PyTorch بمرونته الكبيرة ويستخدم في تطبيقات ومجالات عديدة على سبيل المثال من أهم استخدامات PyTorch ما يلي:
</p>

<ul>
	<li>
		في مجال الرؤية الحاسوبية حيث يتم استخدامه لتصنيف الصور والكشف عن الكائنات وتقسيم الصور.
	</li>
	<li>
		في مجال معالجة اللغة الطبيعية (NLP). ويوفر منصة قوية لبناء وتدريب الشبكات العصبية لمهام مثل تصنيف النصوص وتحليل المشاعر والترجمة الآلية.
	</li>
	<li>
		في مجال التعلم المعزز، حيث تم استخدامه لتطوير وكلاء يمكنها لعب ألعاب مثل Atari و Go. وفي تحليل وتوقع السلاسل الزمنية، وكذلك للتعرف على الأصوات وتوليد النصوص.
	</li>
	<li>
		في تطوير النماذج التي يمكنها معالجة سلاسل الدخل الديناميكية ذات الطول المتغير بفضل أسلوب الرسم البياني الحسابي الديناميكي التي يعتمدها.
	</li>
</ul>

<h2 id="pytorch-3">
	ميزات PyTorch
</h2>

<p>
	يتمتع إطار باي تورش بالعديد من الفوائد والمميزات التي تجعله الخيار المفضل لدى مهندسي الذكاء الاصطناعي ومن أبرز مميزات باي تورش نذكر:
</p>

<ul>
	<li>
		سهل الاستخدام
	</li>
	<li>
		يعتمد على لغة البرمجة الشهيرة بايثون
	</li>
	<li>
		يوفر نماذج منوعة
	</li>
	<li>
		يصلح لتطبيقات متنوعة
	</li>
	<li>
		يملك دعم مجتمعي واسع
	</li>
	<li>
		يوفر ميزة التطوير التفاعلي
	</li>
	<li>
		يوفر ميزة رسم الحسابات الديناميكي
	</li>
	<li>
		يناسب مختلف أنواع العتاد لنوضح المزيد حول كل ميزة من هذه الميزات.
	</li>
</ul>

<h3>
	سهل الاستخدام
</h3>

<p>
	حيث يوفر PyTorch واجهة برمجة تطبيقات عالية المستوى تغنيك عن الخوض في العديد من التفاصيل منخفضة المستوى المتعلقة بالتعلم العميق وتسهل عليك التركيز على تصميم النماذج الخاصة بك.
</p>

<h3 id="">
	يعتمد على لغة البرمجة الشهيرة بايثون
</h3>

<p>
	وهي واحدة من أشهر لغات البرمجة وأسهلها وتناسب مجال الذكاء الاصطناعي وتعلم الآلة بشكل مثالي، وبما أن باي تورش يعتمد على بايثون فهذا يعني أن مطوري البايثون سيـلفون العمل مع باي تورش بسرعة أكثر من العمل مع أطر برمجة الآلة العميقة الأخرى. كما أنه يتكامل بسلاسة مع مكتبات البايثون الشهيرة مثل NumPy وSciPy وPandas مما يجعل التعامل مع البيانات وتحليلها أمرًا سهلًا.
</p>

<h3 id="-1">
	يوفر نماذج متنوعة
</h3>

<p>
	يوفر إطار باي تورش PyTorch مجموعة متنوعة من النماذج ومعماريات الشبكات العصبية المدربة مسبقًا التي يمكن ضبطها بشكل دقيق واستخدامها لمهام مختلفة في تعلم الآلة، وما  نقصده بنموذج PyTorch هنا صنف برمجي بلغة بايثون Python class يمكن إعداده واستدعاؤه بسهولة من أجل إجراء الحسابات والتوقعات كما يمكنك ضبطه على مجموعة معينة من البيانات حسب احتياجاتك.
</p>

<h3 id="-2">
	يصلح لتطبيقات متنوعة
</h3>

<p>
	يصلح PyTorch للاستخدام في طيف واسع من التطبيقات مثل تطبيقات معالجة اللغة الطبيعية، والرؤية الحاسوبية، والتعلم المعزز، والنمذجة التكرارية وغيرها من تطبيقات التعلم العميق.
</p>

<h3 id="-3">
	يملك دعم مجتمعي واسع
</h3>

<p>
	على الرغم من أن بايتورش هو إطار عمل حديث نسبيًا، إلا أنه تمكن من تشكيل مجتمع كبير وضخم من الخبراء والمطورين نظرًا لأن لغة بايثون التي يعتمد عليها تملك أكبر المجتمعات البرمجية على مستوى العالم، وبهذا يستفيد مستخدمو باي تورش من المعرفة المشتركة كما أن توثيق باي تورش منظم جيدًا للغاية ويناسب المبتدئين.
</p>

<h3 id="-4">
	يوفر ميزة التطوير التفاعلي
</h3>

<p>
	يمكنك استخدام محررات أو دفاتر ملاحظات تفاعلية مثل محرر جوبيتر Jupiter التفاعلي بتناغم مع باي تورش. وهذا يسمح لك بالتفاعل مع البيانات وتمثيلها وتصحيح أخطائها خطوة بخطوة ويجعل عملية التطوير أكثر فهمًا.
</p>

<h3>
	يوفر ميزة رسم الحسابات الديناميكي
</h3>

<p>
	يتضمن PyTorch ميزات مدمجة لتصور هياكل النماذج، ويستخدم الرسوم البيانية الحسابية الديناميكية dynamic computation graphs ويعني هذا أن رسم الحسابات يتم إنشاؤه أثناء تشغيل البرنامج بشكل فوري وليس ثابت ومحدد مسبقًا static computational graphs كما هو الحال في إطارات التعلم العميق الأخرى مثل TensorFlow.
</p>

<p>
	لوصف هذه الميزة بأسلوب أبسط، تخيل وجود قماش يمكنك فيه رسم، تعديل، ومحو أجزاء من رسمك في أي ترتيب يقدم لك إطار باي تورش هذه المرونة في التعامل عند بناء وتعديل نماذج الشبكات العصبية.وهذا يسهل تصحيح الأخطاء وتكرار النماذج وبمجرد تغيير هيكل النموذج سيُحدَّث الرسم البياني الخاص به تلقائيًا.
</p>

<h3>
	يوفر وحدة مجموعات بيانات مدمجة جاهزة للاستخدام
</h3>

<p>
	يوفر لك إطار باي تورش PyTorch العديد من مجموعات البيانات التي تناسب العديد من <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a> والتعلم العميق، مثل الرؤية الحاسوبية، والتعرف على الكلام، ومعالجة اللغة الطبيعية وبالتالي ستتمكن من بناء شبكة عصبية خاصة بك ولن تضطر لجمع ومعالجة البيانات بنفسك.
</p>

<h3 id="debugging">
	يسهل تصحيح الأخطاء
</h3>

<p>
	يمكنك استخدام العديد من أدوات تصحيح الأخطاء Debugging للغة بايثون <a href="https://wiki.hsoub.com/Python" rel="external">Python</a> مع إطار باي تورش، على سبيل المثال ، يمكن استخدام الوحدة <a href="https://docs.python.org/3/library/pdb.html" rel="external nofollow">pdb</a> و <a href="https://pypi.org/project/ipdb/" rel="external nofollow">ipdb</a> لتصحيح الأكواد البرمجية التي تكتبها في إطار PyTorch. كما يعمل مصحح الأخطاء المدمج مع <a href="https://academy.hsoub.com/programming/python/%D9%85%D8%AD%D8%B1%D8%B1-%D8%A3%D9%83%D9%88%D8%A7%D8%AF-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">محرر بايثون</a> باي تشارم PyCharm أيضًا بسلاسة مع كود PyTorch.
</p>

<h3 id="-5">
	يناسب مختلف أنواع العتاد
</h3>

<p>
	يوفر الإطار إدارة فعالة للذاكرة، مما يتيح للمستخدم تدريب شبكات عصبية كبيرة باستخدام موارد الأجهزة المحدودة التي تستخدم وحدة المعالجة CPU كما يدعم تدريب GPU عالي الجود للأجهزة المتطورة التي تتضمن وحدة معالجة الرسومات GPU وهي معالج قوي مكون من مئات النوى التي يمكن أن تتعامل مع البرمجة المتزامنة التي تستخدم آلاف <a href="https://academy.hsoub.com/programming/python/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D9%85%D8%AA%D8%B2%D8%A7%D9%85%D9%86%D8%A9-%D9%88%D9%81%D8%A7%D8%A6%D8%AF%D8%AA%D9%87%D8%A7-%D9%81%D9%8A-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-r1548/" rel="">الخيوط Threads</a> في نفس الوقت مما يقلل من وقت التدريب بشكل كبير ويناسب تدريب الشبكات العصبية الكبيرة والمعقدة.
</p>

<h2 id="pytorch-4">
	عيوب PyTorch
</h2>

<p>
	على الرغم من أن المميزات والجوانب الإيجابية التي يتمتع بها إطار باي تورش PyTorch إلا أنه يشتمل كذلك من بعض الجوانب السلبية مثل:
</p>

<ul>
	<li>
		يفتقر باي تورش PyTorch لبعض الوظائف المدمجة مثل أدوات توسيع البيانات أو تكوين النموذج. وبالتالي يتطلب إنجاز هذه الوظائف بعض الجهد والوقت وقد يكون تنفيذها صعبًا على شخص لا يملك خبرة كافية بهيكلية الإطار والوظائف الخاصة به.
	</li>
	<li>
		إطار بايتورش PyTorch أقل توفقًا -مقارنة بالإطارات الأخرى- مع استخدام النماذج في بيئات الإنتاج بسبب عدم توافر بعض أدوات النشر والتكامل التي تتوفر عادة في إطارات أخرى مثل TensorRT أو ONNX Runtime التابعة لتنسرفلو TensorFlow.
	</li>
	<li>
		على الرغم من توفر خيارات لتحسين الأداء في إطار بايتورش إلا أنه قد يتطلب مزيدًا من الجهد مقارنة بالإطارات الأخرى لتحسين أداء التطبيقات ويعد أداؤه بطيئًا نسبيًا كما أن ميزة الرسم البياني الحسابي الديناميكي تقلل أداءه قليلًا.
	</li>
</ul>

<p>
	وعلى الرغم من هذه العيوب إلا أنه يظل واحدًا من الإطارات الأكثر شهرة وقوة في مجال الذكاء الاصطناعي، ويستخدم في العديد من المراكز البحثية والشركات التقنية.
</p>

<h2>
	مقارنة بين باي تورش PyTorch وتنسرفلو TensorFlow
</h2>

<p>
	هناك العديد من أطر التعلم العميق المتاحة للاستخدام وتعتبر كل من TensorFlowو PyTorch إطارين قويين لتعلم الآلة في لغة بايثون Python، فبايتورش PyTorch مطور قبل شركة فيسبوك كما ذكرنا سابقًا أما TensorFlow فقد طورته شركة جوجل وهما يقدمان وظائف أساسية مشابهة، إلا أنها يختلفان في بعض النواحي ومن بين أبرز الفروقات بينهما نذكر ما يلي:
</p>

<ul>
	<li>
		<strong>التنفيذ المتزامن:</strong> يستخدم باي تورش PyTorch التنفيذ المتزامن لأكواد لغة البرمجة بايثون من أجل تنفيذ عدة عمليات في نفس الوقت، في حين تحتاج لتهيئة كل عملية بشكل يدوي لتحقيق المعالجة المتزامنة للبيانات في تنسرفلو.
	</li>
	<li>
		<strong>تمثيل النماذج</strong>: يستخدم باي تورش PyTorch كما ذكرنا من قبل الرسوم البيانية الديناميكية، بينما يستخدم تنسرفلو أسلوب الرسوم الثابتة static computational graphs وهذا يجعله أسرع أداء لكن أقل مرونة.
	</li>
	<li>
		<strong>نشر النماذج</strong>: ، لا يوفر باي توش PyTorch خدمة لنشر النماذج على الويب، بينما يوفر تنسرفلو TensorFlow هذه الخدمة ويدعم نشر النماذج بسهولة باستخدام إطار عمل يسمى TensorFlow Serving وهو إطار يستخدم واجهات REST <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-api-r1314/" rel=""><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></a> لاستخدام نموذج التنبؤ بمجرد نشره مما يسهل استخدامه أكثر من بايتورش.
	</li>
</ul>

<p>
	وإضافة إلى باي تورش PyTorch وتنسرفلو TensorFlow ستجد الكثير من مكتبات وأطر عمل الذكاء الاصطناعي المفيدة الأخرى مثل Keras وMXNet وCaffe وكل إطار له مزاياه وعيوبه ولك الحرية في اختيار الإطار الذي يناسب احتياجاتك وتفضيلاتك، وتعلم خطوات استخدامه بفعالية وكفاءة.
</p>

<h2 id="pytorch-5">
	خطوات تعلم باي تورش PyTorch
</h2>

<p>
	إليك أهم الخطوات التي عليك اتباعها كي تتمكن من استخدام إطار عمل بايتورش بكفاءة:
</p>

<ol>
	<li>
		قبل أن تتمكن من التعامل مع إطار باي تورش عليك أن تتعلم المفاهيم الرياضية الأساسية مثل الجبر الخطي وحساب التفاضل والتكامل والإحصاء والاحتمالات وتعلم أساسيات الخوارزميات وهياكل البيانات
	</li>
	<li>
		بعدها ابدأ بتعلم لغة البرمجة بايثون Python التي يعتمد عليها إطار باي تورش وتدرب على كتابة التعليمات البرمجية وتصحيح أخطائها
	</li>
	<li>
		الخطوة التي تليها هي تعلم <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/" rel="">أساسيات الذكاء الاصطناعي</a> وتعلم الآلة والتعلم العميق وافهم تقنيات و<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات التعلم العميق</a>، ومفاهيم كثل التصنيف والانحدار، وتقييم النماذج وتحسينها فهذه المبادئ النظرية أساسية للتطبيق العمل على إطار العمل لاحقًا.
	</li>
	<li>
		تعلم طريقة تثبيت إطار باي تورش وإعداده محليًا وتعرف على واجهته ومكوناته وتآلف مع أسلوب التعامل معه كما يمكنك التعامل معه مباشرة على السحابة.
	</li>
	<li>
		تعرف على طريقة تحضير البيانات في باي تورش والمعالجة المسبقة لها واكتشف طريقة بناء الشبكات العصبية وتدريبها، بدءًا من تحديد النموذج وتدريب في مجالات مختلفة مثل في الرؤية الحاسوبية ومعالجة اللغة الطبيعية.
	</li>
	<li>
		تعلم آلية تقييم النماذج وعمل التنبؤات منها وكيفية تحسين دقة النموذج وسرعته وموثوقيته
	</li>
	<li>
		جرب تنفيذ نماذج التعلم العميق في تطبيقات فعلية في العالم الحقيقي مثل تطبيقات الويب لتعزز فهم المبادئ النظرية مثل تطبيقات التعرف على الصور وإنشاء النصوص وتحليل المشاعر واكتشاف الوجه لتبني معرض أعمال خاص بك.
	</li>
	<li>
		احرص على التعلم المستمر وتطوير مهاراتك كمتخصص في التعلم العميق فهذا المجال متجدد وسريع التطور وعليك دومًا مواكبة أحدث التطورات والاتجاهات.
	</li>
</ol>

<p>
	وفي الختام تذكر أن الذكاء الاصطناعي اليوم لم يعد مجالًا مقتصرًا على الباحثين والرياضيين والشركات التقنية المتطورة بل باي بإمكان أي شخص ملم بأساسيات الرياضيات والخوارزميات وبلغة البرمجة بلغة بايثون Python تحقيق نتائج مميزة في الذكاء الاصطناعي والتعلم العميق بسهولة كبيرة. فإذا كانت مهتمًا بتعلم هذا المجال الحديث والثوري وتبحث عن مصادر احترافية باللغة العربية فستجد الكثير من مصادر التعلم من خلال المقالات المنشورة في قسم الذكاء الاصطناعي في أكاديمية حسوب كما توفر الأكاديمية <a href="https://academy.hsoub.com/learn/artificial-intelligence/" rel="">دورة تعلم الذكاء الاصطناعي</a> وهي دورة مميزة وشاملة تساعدك على تعلم لغة بايثون وتطوير تطبيقات ذكية لمعالجة وتحليل البيانات وفهم كافة الخوارزميات والمفاهيم البرمجية التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة وتطبيق مشاريع حقيقية وستكسبك هذه الدورة الشاملة الكثير من المعرفة النظرية والتطبيقات العملية التي توصلك من المستوى المبتدئ للاحتراف وتؤهلك لدخول سوق العمل بسرعة والمنافسة بقوة في هذا المجال.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="-6">
	الخلاصة
</h2>

<p>
	نرجو أن نكون قد وفقنا في هذا المقال لتعريفك على كل ما تحتاجه إطار عمل باي تورش وهو PyTorch أحد أقوى الأدوات المستخدمة لتدريب الشبكات العصبية العميقة والتعلم العميق وبينا لك أبرز مميزاته التي تجعل منه بيئة ملائمة تفيد أي شخص مهتم بالعمل في مجال الذكاء الاصطاعي، وأبرز الفروقات بينه وبين إطار عمل الذكاء الاصطناعي تنسرفلو TensorFlow، إذا كان لديك أي تساؤل حول ما ورد في المقال يمكنك تركه في قسم النقاش أسفل المقال.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A5%D9%8A%D8%AC%D8%A7%D8%A8%D9%8A%D8%A7%D8%AA-%D9%88%D8%B3%D9%84%D8%A8%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2248/" rel="">إيجابيات وسلبيات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تعلم الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2243/" rel="">أهمية الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/python/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/" rel="">تطبيقات لغة بايثون</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2311</guid><pubDate>Sun, 28 Apr 2024 12:06:00 +0000</pubDate></item><item><title>&#x625;&#x64A;&#x62C;&#x627;&#x628;&#x64A;&#x627;&#x62A; &#x648;&#x633;&#x644;&#x628;&#x64A;&#x627;&#x62A; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%A5%D9%8A%D8%AC%D8%A7%D8%A8%D9%8A%D8%A7%D8%AA-%D9%88%D8%B3%D9%84%D8%A8%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2248/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/1090030855_.png.cd15bdbff5fcc6c563a91722547aa5d6.png" /></p>
<p>
	يقود الذكاء الاصطناعي Artificial Intelligence في يومنا هذا طليعة التقدم التقني ويمثل قفزة ثورية في الطريقة التي يمكن بها للآلات وأنظمة الحاسب محاكاة الذكاء البشري وأداء المهام التي تتطلّب عادةً ذكاءًا بشريًّا. يشمل هذا المجال مجموعة واسعة من المجالات مثل الروبوتات ومعالجة اللغات الطبيعية والرؤية الحاسوبية والتعلم الآلي وعلوم البيانات ..إلخ، ويؤثر على جوانب مختلفة من المجتمع، من الأعمال والرعاية الصحية إلى الترفيه والتعليم. يستكشف هذا المقال إيجابيات وسلبيات الذكاء الاصطناعي، ويسلط الضوء على الطرق العديدة التي يؤثر بها على عالمنا والتحديات التي يفرضها، فعلى الرغم من أن الذكاء الاصطناعي يوفر إمكانيات مهمة لتحسين الكفاءة والدقة والابتكار، فإنه في نفس الوقت يثير المخاوف بشأن إزاحة الوظائف والتحيز وانتهاك الخصوصية والاعتبارات الأخلاقية الأخرى.
</p>

<h2 id="">
	إيجابيات الذكاء الاصطناعي
</h2>

<p>
	يُقدم الذكاء الاصطناعي <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">وتطبيقاته</a> المتنوعة العديد من المزايا المهمة التي لها تأثيرات جذرية على مختلف القطاعات. يتعمق هذا القسم في الجوانب الإيجابية للذكاء الاصطناعي، ويسلط الضوء على كيفية إحداثه ثورة في الصناعات وتغيير الطريقة التي نعيش بها ونعمل بها.
</p>

<h3 id="-1">
	إيجابيات الذكاء الاصطناعي في مجال التعليم
</h3>

<p>
	أدخل الذكاء الصناعي العديد من التطورات الإيجابية في مجال التعليم، مما أدى إلى تغيير الطريقة التي يتعلم بها الطلاب ويدرّس بها المعلمون ومن أهم هذه الفوائد.
</p>

<ul>
	<li id="-2">
		<strong>التعلم المخصّص</strong>: تستطيع <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a> تحليل أنماط التعلم الفردي وتفضيلاته، وتسمح بتوفير بتجارب تعليمية مخصصة. حيث يمكن للطلاب التقدم في وتيرة التعلم بالسرعة التي تناسبهم، مع التركيز على المجالات التي يحتاجون إلى تحسين فيها، وهذا ما يؤدي إلى عملية تعليمية أكثر كفاءة وفعالية.
	</li>
	<li>
		<strong>منصات التعلّم المتكفية</strong>: تعمل منصات التعلم المتكيفة المدعومة بالذكاء الاصطناعي على ضبط مستوى صعوبة المحتوى التعليمي في الزمن الحقيقي بناءً على أداء الطلاب. وهذا يضمن أن الطلاب يواجهون التحديات المناسبة لمستوياتهم مما يعزز فهمهم ومعرفتهم.
	</li>
	<li>
		<strong>أنظمة التدريس الذكية</strong>: توفر أنظمة التدريس المعتمدة على الذكاء الاصطناعي تعليقات وتوجيهات مخصصة للطلاب على غرار المعلم البشري. وتقدم هذه الأنظمة مساعدة فورية، حيث تساعد الطلاب في الواجبات المنزلية وحل المشكلات التي قد تصادفهم وتعزيز التعلم الذاتي.
	</li>
	<li>
		التقييم التلقائي: يمكن لخوارزميات الذكاء الاصطناعي تقييم المهام والاختبارات وتصنيفها بسرعة ودقة وتوفر وقت المعلمين، مما يسمح لهم بالتركيز على تقديم تعليقات مفيدة ودعم للطلاب.
	</li>
	<li>
		<strong>الفصول الافتراضية والتعلم عن بعد</strong>: يسهل الذكاء الاصطناعي الفصول الدراسية الافتراضية وتجارب التعلم عبر الإنترنت، كما تساعد روبوتات الدردشة الذكية الطلاب في الإجابة على أسئلتهم، وتقوم التحليلات المدعومة بالذكاء الاصطناعي بتتبع تقدم الطالب، بالتالي ضمان بيئة تعليمية سلسة وتفاعلية عن بعد.
	</li>
	<li>
		<strong>أدوات تعلم اللغات</strong>: تساعد أدوات تعلّم اللغات المستندة إلى الذكاء الاصطناعي متعلمي اللغة من خلال توفير الترجمة وتوجيهات النطق وتمارين اللغة، وتعمل هذه الأدوات على تعزيز مهارات اكتساب اللغة وتسهيلها.
	</li>
	<li>
		<strong>أنظمة التدخل المبكر</strong>: يمكن لخوارزميات الذكاء الاصطناعي تحديد الطلاب الذين يواجهون صعوبات أكاديمية وتتيح أنظمة التدخل المبكر للمعلمين تقديم الدعم في الوقت المناسب، مما يضمن حصول الطلاب على المساعدة التي يحتاجونها لتحقيق النجاح.
	</li>
	<li>
		<strong>إنشاء محتوى تعليمي</strong>: يستطيع الذكاء الاصطناعي إنشاء محتوى تعليمي، بما في ذلك عمليات المحاكاة التفاعلية والاختبارات والبرامج التعليمية. ويمكن للمعلمين الاستفادة من هذه الموارد لتعزيز أنشطة الفصل الدراسي وإشراك الطلاب في تجارب تعليمية تفاعلية.
	</li>
	<li>
		<strong>دعم ذوي الاحتياجات الخاصة</strong>: تعمل بعض تقنيات الذكاء الاصطناعي، مثل التعرف على الكلام وتطبيقات تحويل النص إلى كلام، على جعل المواد التعليمية في متناول الطلاب ذوي الاحتياجات الخاصة وتوفر بيئة تعليمية أكثر شمولاً، مما يضمن إمكانية مشاركة جميع فئات الطلاب بشكل كامل في العملية التعليمية.
	</li>
</ul>

<p>
	من خلال الاستفادة من قدرات الذكاء الاصطناعي، يمكن لمجال التعليم أن يتطور أكثر، وأن يقدم حلولًا مبتكرة تعزز نتائج التعلّم وتدعم المعلمين.
</p>

<h3 id="-11">
	زيادة الكفاءة والأتمتة
</h3>

<p>
	يلعب الذكاء الاصطناعي دورًا أساسيًّا في تعزيز الكفاءة والأتمتة في مختلف القطاعات والصناعات. ويظهر تأثيرها الإيجابي بعدة طرق:
</p>

<ul>
	<li id="-12">
		<strong>أتمتة المهام</strong>: تعمل الأنظمة التي تعمل بالذكاء الصناعي على أتمتة المهام المتكررة، مما يقلل من التدخل البشري في الأنشطة العادية. لا يوفر هذا الوقت فحسب، بل يضمن أيضًا الدقة وتقليل الأخطاء التي قد تنشأ عن العمليات اليدوية.
	</li>
	<li>
		<strong>تقليل التكلفة</strong>: تؤدي أتمتة المهام من خلال تقنيات الذكاء الصناعي إلى خفض التكلفة بشكل كبير، حيث يمكن للشركات تحقيق إنتاج أعلى بموارد أقل، مما يؤدي إلى توفير كبير في التكاليف التشغيلية.
	</li>
	<li>
		<strong>السرعة والدقة</strong>: تعالج أنظمة الذكاء الصناعي المعلومات بسرعات غير مسبوقة، حيث يمكنهم <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تحليل بيانات</a> ضخمة وإجراء حسابات معقدة بسرعة ودقة، مما يؤدي إلى عمليات اتخاذ قرار أسرع.
	</li>
	<li>
		<strong>العمل على مدار الساعة طوال أيام الأسبوع</strong>: يمكن للأدوات والأنظمة التي تعمل بالذكاء الصناعي أن تعمل على مدار الساعة دون تعب، مما يضمن استمرار الخدمة دون انقطاع. تعتبر هذه القدرة ذات قيمة خاصة في قطاعات مثل دعم العملاء والأمن السيبراني التي تحتاج إلى تواجد دائم ويقظة مستمرة.
	</li>
	<li>
		<strong>التخصيص</strong>: تتيح تقنيات الذكاء الصناعي تخصيص المنتجات والخدمات والتوصية بما يناسب منها بناءً على التفضيلات الفردية، وهذا ما يعزز تجارب العملاء، وبالتالي ارتفاع معدلات الرضا <a href="https://academy.hsoub.com/entrepreneurship/ecommerce/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%88%D9%84%D8%A7%D8%A1-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D8%A7%D8%A1-%D9%84%D9%84%D8%B9%D9%84%D8%A7%D9%85%D8%A9-%D8%A7%D9%84%D8%AA%D8%AC%D8%A7%D8%B1%D9%8A%D8%A9-r912/" rel="">وزيادة ولاء العملاء للعلامة التجارية</a>.
	</li>
	<li>
		<strong>مراقبة الجودة</strong>: في عمليات التصنيع والإنتاج، تقوم الأنظمة المدعومة بالذكاء الصناعي بمراقبة الجودة في الزمن الحقيقي. أي انحرافات أو عيوب تُكتشف على الفور، بالتالي ضمان وصول المنتجات عالية الجودة فقط إلى السوق.
	</li>
	<li>
		<strong>تحسين سير العمل</strong>: يقوم الذكاء الصناعي بتحليل أساليب سير العمل ويقترح التحسينات. بالتالي، ومن خلال تحديد الاختناقات وأوجه القصور في سير العمل، ويمكن للشركات إعادة تصميم العمليات لتعزيز الإنتاجية والفعالية بشكل عام.
	</li>
	<li>
		<strong>العمليات عن بعد</strong>: تُسهّل الأتمتة المعتمدة على الذكاء الصناعي العمليات والإدارة عن بعد. وهذه الميزة مفيدة بشكل خاص في قطاعات مثل المرافق، حيث يمكن مراقبة البنية التحتية والتحكم فيها من مواقع مركزية، بالتالي تعزيز الكفاءة والاستجابة عمومًا. إن زيادة الكفاءة والأتمتة من خلال تقنيات الذكاء الصناعي لا تعمل على تبسيط العمليات فحسب، بل تمهد الطريق أيضًا للابتكار، وهذا ما يسمح للشركات والصناعات بالازدهار في ظل هذا التنافس العالمي الكبير.
	</li>
</ul>

<h3 id="-20">
	تحسين عملية صنع القرار
</h3>

<p>
	لقد أثر اندماج الذكاء الاصطناعي بشكل كبير على عمليات صنع القرار في مختلف القطاعات، وهذا يوفر العديد من المزايا:
</p>

<ul>
	<li id="-21">
		<strong>تحليل البيانات وتفسيرها</strong>: يمكن ل<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a> معالجة كميات هائلة من البيانات في الزمن الحقيقي، وهذا ما يتيح للشركات جمع الرؤى من مجموعات البيانات الكبيرة بسرعة ودقة، مما يساعد في اتخاذ قرارات فعّالة.
	</li>
	<li id="-22">
		<strong>التحليلات التنبؤية</strong>: تستخدم أنظمة الذكاء الصناعي <a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%AD%D9%84%D9%8A%D9%84_%D8%AA%D9%86%D8%A8%D8%A4%D9%8A" rel="external nofollow">النمذجة التنبؤية</a> لتوقع الاتجاهات المستقبلية للأسواق بناءً على البيانات السابقة. يساعد هذا التحليل التنبؤي الشركات على توقع تغيرات السوق وسلوكيات العملاء وأنماط الطلب، بالتالي إمكانية اتخاذ قرارات استباقية.
	</li>
	<li id="-23">
		<strong>إدارة المخاطر</strong>: تعمل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a> على تقييم المخاطر من خلال تحليل البيانات السابقة. يساعد هذا التحليل الشركات في مختلف الصناعات (مثل شركات التمويل و التأمين) على تقييم المخاطر بشكل أكثر دقة وتطوير استراتيجيات فعالة لتخفيف المخاطر.
	</li>
	<li id="-24">
		<strong>كشف الاحتيال</strong>: يمكن لأنظمة الذكاء الصناعي اكتشاف العمليات المرتبطة بالأنشطة الاحتيالية في الزمن الحقيقي، وهذا مفيد بشكل خاص في القطاع المالي، حيث تقوم خوارزميات الذكاء الصناعي بتحليل المعاملات وسلوكيات المستخدم لتحديد الاحتيال المحتمل، بالتالي تجنبها من خلال التدخل السريع.
	</li>
</ul>

<h3 id="-25">
	إيجابيات الذكاء الاصطناعي في المجال الطبي
</h3>

<p>
	لقد قدم الذكاء الصناعي العديد من المزايا التي تعزز رعاية المرضى وتبسّط العمليات وتساهم في البحوث الطبية. فيما يلي بعض الإيجابيات الرئيسية للذكاء الاصطناعي في المجال الطبي:
</p>

<ul>
	<li id="-26">
		<strong>الكشف المبكر عن الأمراض: </strong>يمكن لخوارزميات الذكاء الاصطناعي <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تحليل مجموعات واسعة من البيانات</a> بما في ذلك السجلات الطبية وفحوصات التصوير، وذلك لاكتشاف حالات معينة وتحديد الأمراض المحتملة في مرحلة مبكرة، بالتالي المساعدة في الكشف المبكر والتدخل والعلاج في الوقت المناسب، وهذا ماينعكس إيجابًا على فرص الشفاء.
	</li>
	<li>
		<strong>التشخيص الدقيق</strong>: تعمل أدوات التشخيص الطبي المدعومة بالذكاء الاصطناعي، على تحسين دقة التشخيص وتساعد هذه الأدوات متخصصي الرعاية الصحية في تفسير الصور المعقدة مثل الأشعة السينية والرنين المغناطيسي، وبالتالي الحصول على تشخيصات أكثر دقة وموثوقية.
	</li>
	<li>
		<strong>خطط العلاج الشخصية</strong>: يقوم الذكاء الاصطناعي بتحليل بيانات المرضى لإنشاء خطط علاجية مخصصة لهم، وذلك من خلال النظر في العوامل الفردية للمريض مثل علم الوراثة والتاريخ الطبي ونمط الحياة. يساعد الذكاء الاصطناعي الأطباء على تصميم العلاجات لتحقيق أقصى قدر من الفعالية.
	</li>
	<li>
		<strong>اكتشاف الأدوية وتطويرها</strong>: يعمل الذكاء الاصطناعي على تسريع اكتشاف الأدوية من خلال تحليل البيانات البيولوجية والتنبؤ بالفعالية المحتملة للمركبات الجديدة. يؤدي هذا إلى تسريع عملية البحث والتطوير واكتشاف علاجات جديدة لمختلف الأمراض.
	</li>
	<li>
		<strong>التحليلات التنبؤية لنتائج المرضى</strong>: يمكن لمقدمي الرعاية الصحية استخدام أدوات التحليل التنبؤية للتدخل بشكل استباقي، بالتالي ضمان حصول المرضى على الرعاية والموارد المناسبة في الوقت المناسب.
	</li>
	<li>
		<strong>الجراحة الروبوتية</strong>: يمكن أن تساعد الأنظمة الروبوتية المعتمدة على الذكاء الاصطناعي الجراحين أثناء الإجراءات الجراحية المعقدة، مما يعزز الدقة ويقلل من الأخطاء البشرية ويحسن النتائج عمومًا، إذ يمكن لهذه الأنظمة أداء المهام بدقة عالية.
	</li>
	<li>
		<strong>إدارة بيانات الرعاية الصحية</strong>: يعمل الذكاء الصناعي على تبسيط إدارة بيانات الرعاية الصحية من خلال تنظيم وتحليل كميات هائلة من بيانات المرضى وأتمتتها.
	</li>
	<li>
		<strong>المراقبة عن بعد</strong>: تتيح بعض الأجهزة التي يمكن ارتداؤها والتي تعمل بالذكاء الاصطناعي -حلولًا للمراقبة عن بعد والتتبع المستمر للعلامات الحيوية للمرضى والمقاييس الصحية. يضمن ذلك التدخل في الوقت المناسب ويقلل الحاجة إلى الزيارات المتكررة إلى المستشفى.
	</li>
	<li>
		<strong>تحسين الأبحاث والتجارب السريرية</strong><span>: </span>يمكن استخدام الذكاء الصناعي لمحاكاة التجارب السريرية، مما يوفر وقتًا وجهدًا ويقلل من التكلفة. كما يمكن للذكاء الصناعي الاستفادة من البيانات السريرية الضخمة وتحليلها بسرعة ودقة، مما يساعد الباحثين في فهم الأمراض والاستنتاجات الطبية.
	</li>
</ul>

<p>
	يوفر الذكاء الاصطناعي في المجال الطبي فرصًا لا مثيل لها لتعزيز تقديم الرعاية الصحية وتحسين نتائج المرضى ودفع عجلة التقدم الطبي. تمهد هذه التطورات الطريق لنظام رعاية صحية أكثر تخصيصًا وفعالية وسهولة في الحصول عليه.
</p>

<h3 id="-35">
	إيجابيات الذكاء الاصطناعي في البحث العلمي والتطوير
</h3>

<p>
	يعمل الذكاء الاصطناعي على تسريع البحث العلمي من خلال معالجة مجموعات البيانات المعقدة ومحاكاة التجارب واكتشاف العلاقات المعقدة بين الأشياء. إنه يلعب دورًا هامًا في مجالات مثل اكتشاف الأدوية وعلوم المواد وعلم الجينوم وغيرها الكثير.
</p>

<h3 id="-36">
	إيجابيات الذكاء الاصطناعي في الأمن السيبراني
</h3>

<p>
	تكتشف خوارزميات الذكاء الاصطناعي <a href="https://academy.hsoub.com/devops/security/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D8%A3%D9%85%D9%86-%D8%A7%D9%84%D8%B3%D9%8A%D8%A8%D8%B1%D8%A7%D9%86%D9%8A-%D9%88%D9%85%D8%A7-%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87%D8%9F-r664/" rel=""> تهديدات الأمن السيبراني</a> وتمنعها في الزمن الحقيقي Real Time. كما تعمل نماذج التعلم الآلي على تحليل سلوكيات الشبكة وتحديد الحالات الشاذة وحماية البيانات الحساسة، مما يضمن اتخاذ تدابير حماية قوية.
</p>

<p>
	تسلط هذه الإيجابيات الضوء على التأثير الكبير للذكاء الاصطناعي في مختلف مجالات الحياة، وهذا ما يمهد الطريق لحلول مبتكرة وتحسين الكفاءات في مختلف المجالات.لكن من ناحية أخرى وإلى جانب كل هذه الفوائد، يطرح الذكاء الاصطناعي تحديات وأسئلة أخلاقية تتطلب مراجعة دقيقة أيضًا. لنتناول في القسم التالي بعض هذه القضايا.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="-37">
	سلبيات الذكاء الاصطناعي
</h2>

<p>
	نظرا للتقدم الكبير في أبحاث الذكاء الاصطناعي، فقد أصبحنا على حافة عصر الروبوتات المستقلة وإنترنت الأشياء منذ عام 2005 تقريبا. بالتالي، فإننا نواجه بشكل متسارع تبعات الذكاء الاصطناعي في الحياة اليومية. فمن ينوي التخصص في <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مجال الذكاء الاصطناعي</a>، أن يتعامل أيضًا مع التأثيرات والاعتبارات الأخلاقية والاجتماعية لهذا التخصص. إذًا وعلى الرغم من أن الذكاء الصناعي يجلب لعالمنا تطورات ملحوظة، ولكنه يجلب أيضًا تحديات وقضايا كبيرة. ويعد فهم هذه السلبيات أمرًا بالغ الأهمية لاتخاذ قرارات دقيقة بشأن استخدام الذكاء الاصطناعي وتنظيمه.
</p>

<h3 id="-38">
	الإزاحة الوظيفية والبطالة
</h3>

<p>
	أدى ظهور الذكاء الاصطناعي إلى ظهور المخاوف بشأن تقلص فرص الوظائف وزيادة البطالة. وهذا ليس أمرًا حديثًا فمنذ يناير/كانون الثاني 2016، أصدر المنتدى الاقتصادي العالمي <a href="reports.weforum.org/future-of-jobs-2016" rel="">دراسة</a> تنبأت بأن صعود "<a href="https://ar.wikipedia.org/wiki/%D8%A7%D9%84%D8%AB%D9%88%D8%B1%D8%A9_%D8%A7%D9%84%D8%B5%D9%86%D8%A7%D8%B9%D9%8A%D8%A9_%D8%A7%D9%84%D8%B1%D8%A7%D8%A8%D8%B9%D8%A9" rel="external nofollow">الصناعة 4.0</a>" سيؤدي إلى إزاحة أكثر من خمسة ملايين وظيفة في غضون خمس سنوات.واليوم تزداد هذه المخاوف نظرا للأتمتة المتزايدة في مختلف القطاعات مثل المصانع والمكاتب ووسائل النقل والمنازل، والمعتمدة على الذكاء الاصطناعي بشكل كبير.
</p>

<p>
	على السطح، يبدو هذا الأمر بمثابة نعمة، حيث يحرر البشر من المهام المجهدة جسديًا وغير السارة. تَعِد الأتمتة بزيادة الكفاءة وانخفاض التكاليف وربما المزيد من الرخاء. لكن هذه الرؤية المثالية تصطدم بالواقع. فعلى الرغم من الإنتاجية المتزايدة، لا يزال الناس يعملون لساعات طويلة ويواجهون التوتر والإرهاق وانخفاض الأجور الحقيقية كما أن الضغوط التنافسية تجبر الشركات على خفض التكاليف، غالبًا عن طريق تسريح العمال، مما يؤدي إلى البطالة وزيادة الضغوط على القوى العاملة كما أن ارتفاع الإنتاجية لا ينعكس على العمال ولا يساهم في تحسين أجورهم ويتسبب في تراكم الثروة بين القلة تاركًا لأغلبية تكافح من أجل تغطية نفقاتها ومسببًا تفاوتًا في المستوى الاقتصادي بين طبقات المجتمع.
</p>

<h3 id="-39">
	المخاوف الأخلاقية والتحيزيّة
</h3>

<p>
	تبرز المخاوف الأخلاقية والتحيزيّة في عالم الذكاء الاصطناعي كتحديات كبيرة تتطلب اهتمامًا عاجلًا. فإحدى القضايا البارزة هي التحيز الخوارزمي Algorithmic bias. إذ ترث أنظمة الذكاء الاصطناعي عن غير قصد في كثير من الأحيان التحيزات الموجودة في البيانات التي تدربت عليها ويمكن أن تؤدي هذه التحيزات التي تعكس التحيزات المجتمعية إلى معاملة غير عادلة في مختلف التطبيقات، مثل عمليات التوظيف أو أنظمة العدالة الجنائية.
</p>

<p>
	من جانبٍ آخر يشكل الافتقار إلى الشفافية في قرارات الذكاء الاصطناعي معضلة أخلاقية حيث تعمل العديد من خوارزميات الذكاء الاصطناعي كصناديق سوداء يصعب فهم كيفية وصولها إلى استنتاجات أو قرارات محددة ما يعيق القدرة على كشف وتصحيح نتائجها المتحيزة. كما أن المسؤولية في تطوير الذكاء الاصطناعي من الجوانب الهامة التي تحتاج إلى دراسة متأنية فتحديد المسؤول عندما يخطئ نظام الذكاء الاصطناعي أو يتسبب في ضرر ما أمر معقد، ولكنه ضروري لضمان الممارسات الأخلاقية والحماية من اتخاذ القرارات المتحيزة.
</p>

<p>
	إن معالجة هذه المخاوف الأخلاقية والتحيزية يتطلب اتباع نهج يتضمن الشفافية والمساءلة والتدقيق المستمر لبناء <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات ذكاء اصطناعي</a> عادلة وشفافة وخاضعة للمساءلة أمام المجتمع الذي تخدمه.
</p>

<h3 id="-40">
	التكاليف الأولية المرتفعة والاعتماد على التكنولوجيا
</h3>

<p>
	يتطلب تنفيذ تقنيات الذكاء الاصطناعي استثمارات مالية كبيرة لذا تحتاج الشركات والمنظمات إلى تخصيص ميزانيات كبيرة للبحث والتطوير وتكامل أنظمة الذكاء الاصطناعي ضمن بنيتها التحتية الحالية. تشمل نفقات التنفيذ هذه التكاليف المرتبطة بتوظيف المتخصصين المهرة والحصول على الأجهزة المتقدمة وترخيص البرامج المتطورة ..إلخ. كما أن عمليات التحسين والصيانة المستمرة تشكل التزامات مالية مستمرة. تتطلب التحديثات المنتظمة وإصلاحات الأخطاء وتكييف أنظمة الذكاء الاصطناعي مع الاحتياجات المتطورة تمويلًا ثابتًا.
</p>

<p>
	من ناحية أخرى، هناك قلق بالغ بشأن مخاطر الاعتماد المفرط على أنظمة الذكاء الاصطناعي، ففي حين أن تكنولوجيا الذكاء الاصطناعي يمكن أن تعزز الكفاءة وعمليات صنع القرار، فإن الاعتماد المفرط عليها يمكن أن يؤدي إلى خلق نقاط ضعف. إن الاعتماد بشكل كبير على الذكاء الاصطناعي قد يؤدي إلى تآكل المهارات البشرية والتفكير النقدي، وقد يجعل الخبرة البشرية ثانوية بالنسبة للخوارزميات الآلية. لذا يثير هذا الاعتماد المفرط على الآلات الذكية تساؤلات حول العواقب طويلة المدى المترتبة على تضاؤل المشاركة البشرية في العمليات المهمة ولا شك أن تحقيق التوازن بين تبني إمكانات الذكاء الاصطناعي وفهم حدوده أمر ضروري لتجنب الاعتماد غير المبرر والمخاطر المرتبطة به.
</p>

<h3 id="-41">
	الافتقار إلى الذكاء العاطفي
</h3>

<p>
	تكمن إحدى العيوب الكبيرة للذكاء الاصطناعي في افتقاره إلى الذكاء العاطفي وهي السمة المتجذّرة بعمق في التفاعلات البشرية. فأنظمة الذكاء الاصطناعي وعلى الرغم من خوارزمياتها وقدراتها المتقدمة، تكافح من أجل فهم مدى تعقيد المشاعر الإنسانية. ويبرز هذا القيد بشكل خاص في تطبيقات خدمة العملاء التي يعد التعاطف أمرًا محوريًا فيها في بعض الحالات. فحلول خدمة العملاء المعتمدة على الذكاء الاصطناعي وعلى الرغم من كفاءتها في التعامل مع الاستفسارات الروتينية، إلا أنها غالبًا ما تفشل في فهم الفروق الدقيقة في المشاعر الإنسانية، وهذا قد يشعر العملاء بالخيبة والإحباط.
</p>

<p>
	وفي قطاعي الرعاية الصحية، يشكل غياب الذكاء العاطفي في أدوات الذكاء الاصطناعي تحديًا كبيرًا. فقد يشعر المرضى الذين يبحثون عن فهم تعاطفي أثناء الاستشارات الطبية أو جلسات العلاج أن واجهات الذكاء الاصطناعي لا تفهمهم ولا تدرك ما يشعرون به، وهذا قد يؤثر على تجربة المريض بشكل عام. فعجز الذكاء الاصطناعي عن فهم تعقيدات المشاعر الإنسانية يثير أسئلة أخلاقية ويؤكد على أهمية دمج التعاطف البشري في تقنيات الذكاء الاصطناعي لتحسين جودة تفاعلات العملاء وتقديم خدمات الرعاية الصحية.
</p>

<h3 id="-42">
	المخاطر الأمنية وقضايا الخصوصية
</h3>

<p>
	لقد جلب ظهور الذكاء الصناعي معه عددًا لا يحصى من المخاوف المتعلقة بالأمن والخصوصية. إحدى المشكلات الأكثر إلحاحًا هي التعرض لخروقات البيانات <a href="https://academy.hsoub.com/devops/security/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D8%A3%D9%85%D9%86-%D8%A7%D9%84%D8%B3%D9%8A%D8%A8%D8%B1%D8%A7%D9%86%D9%8A-%D9%88%D9%85%D8%A7-%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87%D8%9F-r664/" rel="">وتهديدات الأمن السيبراني</a>، فمع اعتماد أنظمة الذكاء الصناعي بشكل متزايد على كميات هائلة من البيانات الحساسة، أصبح احتمال الوصول غير المصرح به والهجمات الضارة مصدر قلق كبير. تؤدي هذه الانتهاكات إلى تعريض المعلومات الشخصية للخطر، ويمكن أن يكون لها أيضًا عواقب بعيدة المدى تؤثر على الشركات والحكومات والأفراد على حدٍ سواء.
</p>

<p>
	إضافةً إلى ذلك فإن شبح <strong>الوصول غير المصرح به إلى أنظمة الذكاء الاصطناعي</strong> يلوح في الأفق. فقد يستغل المُخترقون Hackers ذوو النوايا الشريرة نقاط الضعف في <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a> أو البنى التحتية، ويحصلون على سيطرة غير مصرح بها على هذه الأنظمة. يثير هذا مخاوف بشأن <a href="https://academy.hsoub.com/devops/servers/databases/%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%B3%D9%84%D8%A7%D9%85%D8%A9-%D9%88%D9%82%D9%8A%D9%88%D8%AF%D9%87%D8%A7-%D9%84%D8%B6%D9%85%D8%A7%D9%86-%D8%B3%D9%84%D8%A7%D9%85%D8%A9-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-%D9%81%D9%8A-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-r544/" rel="">سلامة البيانات</a> ويشكل أيضًا مخاطر كبيرة على وظائف وسلامة التطبيقات التي تعتمد على الذكاء الاصطناعي، وخاصة تلك المستخدمة في القطاعات الحيوية مثل الرعاية الصحية أو التمويل.
</p>

<p>
	من جانب آخر، يؤدي انتشار الذكاء الاصطناعي في حياتنا اليومية إلى إثارة مخاوف بشأن انتهاكات الخصوصية إذ يمكن لتقنيات الذكاء الاصطناعي، وخاصة تلك الموجودة في كاميرات المراقبة والمنصات عبر الإنترنت، مراقبة وتحليل سلوك الأفراد، مما يؤدي إلى انتهاك الخصوصية على نطاق غير مسبوق. وقد شعلت هذه مخاوف إساءة استخدام البيانات الشخصية المناقشات حول الآثار الأخلاقية للذكاء الاصطناعي، ودفعت المجتمعات والحكومات إلى إصدار لوائح تنظيمية صارمة لحماية خصوصية الأفراد لتسخير إمكانات الذكاء الاصطناعي لتحقيق التقدم المجتمعي وليس للاستغلال أو الانتهاك.
</p>

<h3 id="-43">
	التأثير البيئي
</h3>

<p>
	يعد التأثير البيئي للذكاء الاصطناعي مصدر قلق متزايد أيضًا. فإحدى القضايا المهمة هي استهلاك الطاقة الهائل المرتبط بأنظمة الذكاء الاصطناعي. إذ تتطلب الحسابات والخوارزميات التي تعمل في مراكز البيانات كميات كبيرة من الكهرباء، مما يساهم في ارتفاع انبعاثات الكربون وإجهاد موارد الطاقة العالمية. بالإضافة إلى ذلك، أدى انتشار أجهزة الذكاء الاصطناعي إلى زيادة كبيرة في النفايات الإلكترونية. فغالبًا ما ينتهي الأمر بأجهزة الذكاء الاصطناعي التي يتم التخلص منها، مثل الهواتف الذكية القديمة والأدوات المنزلية الذكية، في مدافن النفايات، وهذا ما يشكل مخاطر بيئية بسبب مكوناتها السامة والتخلص غير السليم من هذه الأجهزة يزيد من تلويث البيئة ويعرض النظم البيئية للخطر.
</p>

<p>
	عمومًا، هناك بصيص من الأمل وسط هذه التحديات، يتجلى من خلال ظهور مبادرات الاستدامة وممارسات <a href="https://greenfue.com/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%8A%D8%AA%D8%AD%D9%88%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%84%D9%88%D9%86-%D8%A7%D9%84%D8%A3%D8%AE/" rel="external nofollow">"الذكاء الاصطناعي الأخضر"</a>. إذ تركز الشركات ومختبرات البحث اليوم على إنشاء تقنيات ذكاء اصطناعي موفرة للطاقة وصديقة للبيئة. وتتضمن هذه المبادرات تطوير الخوارزميات والأجهزة التي تتطلب طاقة حسابية أقل، وبالتالي تقليل استهلاك الطاقة. إضافةً إلى ذلك، هناك تركيز على إعادة التدوير والتخلص المسؤول من أجهزة الذكاء الاصطناعي لتقليل النفايات الإلكترونية، كما يجري استكشاف المواد المستدامة وعمليات التصنيع الجديدة لإنشاء أجهزة ذكاء اصطناعي صديقة للبيئة.
</p>

<p>
	إن الجهود المستمرة في مبادرات الاستدامة والذكاء الاصطناعي الأخضر تمهد الطريق لمستقبل أكثر مسؤولية من الناحية البيئية. من خلال الابتكار والوعي والتعاون، يمكن لصناعة التكنولوجيا والمجتمع ككل التخفيف من العواقب البيئية السلبية للذكاء الاصطناعي وضمان التعايش المتناغم بين التكنولوجيا والطبيعة.
</p>

<h3 id="-44">
	التنقل في المستقبل: التحديات والفرص في عصر السيارات الروبوتية
</h3>

<p>
	غالبًا ما يُشار إلى فقدان سائقي سيارات الأجرة لوظائفهم على أنه أحد عيوب السيارات الآلية. من شبه المؤكد أنه لن يكون هناك سائقي سيارات أجرة اعتبارًا من عام 2030 فصاعدًا، لكن هذا ليس مشكلة بالضرورة. كما ذكرنا سابقًا، يحتاج مجتمعنا فقط إلى التعامل مع الإنتاجية المكتسبة حديثًا والتطورات بشكل صحيح.
</p>

<p>
	بالإضافة إلى المزايا العديدة التي تجلبها لنا السيارات ذاتية القيادة أو السيارات الآلية، تواجه هذه السيارات مشكلتين خطيرتين. أولًا، ما يسمى "بتأثير الارتداد" الذي سوف يلغي على الأقل بعض المكاسب في توفير الموارد والطاقة والوقت. ففترات القيادة الأقصر بالإضافة إلى القيادة الأكثر راحة والأرخص ستغرينا بالقيادة أكثر. ولا يمكننا التعامل مع هذه المشكلة إلا من خلال إعادة التفكير في موقفنا تجاه الاستهلاك ونوعية الحياة واستخدام كامل الوقت المدخر لمزيد من الأنشطة
</p>

<p>
	هناك مشكلة أخرى يجب أن نأخذها على محمل الجد وهي أن السيارات الآلية ستحتاج إلى أن تكون متصلة بالشبكة وهذا قد يمنح المخترقين القدرة على الوصول إلى عناصر التحكم في المركبات والتلاعب بها من خلال الثغرات الأمنية في <a href="https://academy.hsoub.com/devops/networking/%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84%D8%A7%D8%AA-%D8%AA%D8%AF%D9%81%D9%82-%D8%A7%D9%84%D8%A8%D8%A7%D9%8A%D8%AA%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D9%88%D8%AB%D9%88%D9%82%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D8%A2%D9%84%D9%8A%D8%A9-%D8%A7%D9%84%D8%A5%D8%B1%D8%B3%D8%A7%D9%84-%D9%88%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D8%A6%D9%84-r516/" rel="">بروتوكولات الشبكة</a>. إذا تمكن أحد المخترقين من القيام بذلك مرة واحدة، فيمكنه تكرار الهجوم على نطاق واسع، مما قد يؤدي إلى توقف أساطيل المركبات بأكملها أو التسبب في وقوع حوادث أو التجسس على ركاب المركبات أو الشروع في أعمال إجرامية أخرى. هنا كما هو الحال في مجالات أخرى مثل التشغيل الآلي للمنزل وإنترنت الأشياء، ستكون هناك حاجة إلى خبراء في أمن تكنولوجيا المعلومات لضمان أعلى ضمانات أمنية ممكنة باستخدام أدوات التجارة مثل أساليب التشفير. بالمناسبة، ستكون خوارزميات التعلم الآلي مفيدة في اكتشاف هجمات القرصنة.
</p>

<p>
	بعد أن ناقشنا أهم إيجابيات وسلبيات الذكاء الاصطناعي يمكن القول أن الراحة والرخاء التي سينتجها لنا الذكاء الاصطناعي لا يخلو من كثير من التحديات التي علينا مواجهتها لتجنب أي خطر قد يعرض البشرية والكوكب للخطر.
</p>

<h2 id="-45">
	خاتمة
</h2>

<p>
	عند الحديث عن الذكاء الاصطناعي، يتضح لنا أن تقنيات الذكاء الاصطناعي تقدم فوائد ملحوظة مثل زيادة الكفاءة وحلول الرعاية الصحية المتقدمة والعمليات التجارية المبسطة ..إلخ، إلا أن ذلك يترافق مع تحديات من أبرزها إزاحة الوظائف والمخاوف الأخلاقية والمخاطر الأمنية. يعد فهم هذه الإيجابيات والسلبيات أمرًا بالغ الأهمية لاتخاذ قرارات مستنيرة بشأن اندماج الذكاء الاصطناعي بطريقة آمنة في حياتنا والحرص على تحقيق التوازن بين تسخير فوائد الذكاء الصناعي والتخفيف من تحدياته. كما يتعين على الشركات وصناع السياسات أن يعملوا بشكل تعاوني لتحقيق الممارسات الأخلاقية ومعالجة التحيزات وضمان الشفافية. ويتعين على الباحثين الحرص على توفير حلول ذكاء اصطناعي أخلاقية وآمنة وغير متحيزة بجانب تطويره، وإنشاء مبادرات تعليمية لتعزيز الفهم العام للذكاء الاصطناعي، كما ينبغي على صناع السياسات أن يتعاونوا على مستوى العالم لإنشاء لوائح تنظيمية قوية تضمن التطوير الأخلاقي والاستخدام الصحيح للذكاء الاصطناعي وبناء مستقبل يفيد فيه الذكاء الاصطناعي البشرية ككل.
</p>

<h2 id="-46">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تعلم الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2243/" rel="">أهمية الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مجالات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%81%D9%88%D8%A7%D8%A6%D8%AF-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2247/" rel="">فوائد الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مستقبل الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2248</guid><pubDate>Mon, 26 Feb 2024 12:03:00 +0000</pubDate></item><item><title>&#x643;&#x64A;&#x641;&#x64A;&#x629; &#x628;&#x646;&#x627;&#x621; &#x634;&#x628;&#x643;&#x629; &#x639;&#x635;&#x628;&#x64A;&#x629; &#x644;&#x62A;&#x631;&#x62C;&#x645;&#x629; &#x644;&#x63A;&#x629; &#x627;&#x644;&#x625;&#x634;&#x627;&#x631;&#x629; &#x625;&#x644;&#x649; &#x627;&#x644;&#x644;&#x63A;&#x629; &#x627;&#x644;&#x625;&#x646;&#x62C;&#x644;&#x64A;&#x632;&#x64A;&#x629;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%B9%D8%B5%D8%A8%D9%8A%D8%A9-%D9%84%D8%AA%D8%B1%D8%AC%D9%85%D8%A9-%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A5%D8%B4%D8%A7%D8%B1%D8%A9-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AC%D9%84%D9%8A%D8%B2%D9%8A%D8%A9-r2259/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/---------.png.c5e974759e94689b91e3300a138ac725.png" /></p>
<p>
	الرؤية الحاسوبيّة Computer vision هي مجال فرعي من علوم الحاسوب Computer science، تهدف إلى استخراج معلومات عالية المستوى من الصور ومقاطع الفيديو. يتضمن هذا المجال مهام مثل اكتشاف الكائنات في صورة أو فيديو وتحسين واستعادة الصور (إكمال المصفوفة) وتتبع العناصر في المقاطع المتحركة. ويُغذّي هذا المجال العديد من التقنيات، بما في ذلك مرشحات الدردشة المرئية video chat filters و<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B5%D9%86%D9%8A%D9%81-%D8%A7%D9%84%D8%B5%D9%88%D8%B1-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%AC%D9%87-%D9%81%D9%8A-%D9%85%D8%AC%D8%A7%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r1197/" rel="">التعرّف على الوجه</a> (مصادقة الوجه Face Authentication) في الأجهزة المحمولة والسيارات ذاتية القيادة.
</p>

<p>
	نستخدم خلال هذه المقالة الرؤية الحاسوبيّة لإنشاء مُترجم للغة الإشارة الأمريكية واستخدامها مع كاميرا الويب الخاصة بك. نستخدم خلال هذه المقالة مكتبة الرؤية الحاسوبية الشهيرة أوبين سي في OpenCV وإطار العمل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A8%D8%A7%D9%8A-%D8%AA%D9%88%D8%B1%D8%B4-pytorch-%D9%88%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87-%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2311/" rel="">بايتورش PyTorch</a> لبناء شبكة عصبية عميقة، والنظام البيئي أونكس ONNX لتصدير الشبكة العصبية التي سوف نبنيها. نُطبّق المفاهيم التالية أثناء إنشاء تطبيق الرؤية الحاسوبيّة خاصتنا:
</p>

<ul>
	<li>
		نتبع طريقة من ثلاث خطوات وهي: المعالجة المسبقة لمجموعة البيانات ثم تدريب النموذج وأخيرًا تقيّيم النموذج.
	</li>
	<li>
		تحسين كل خطوة من خلال استخدام تقنية زيادة أو تعزيز البيانات Data augmentation لمعالجة حالات الأيدي المدورة أو غير المتمركزة (قد تكون الأيدي في زوايا أو اتجاهات مختلفة) وتغيير جداول مُعدّل التعلّم Learning rate schedule لتحسين دقة النموذج وتصدير النماذج لزيادة سرعة الاستدلال.
	</li>
	<li>
		نستكشف أيضًا المفاهيم ذات الصلة بتعلّم الآلة Machine Learning.
	</li>
</ul>

<p>
	بعد الانتهاء من هذه المقالة، سيكون لديك مُترجم لغة الإشارة الأمريكية ومعرفة أساسيّة بالتعلّم العميق Deep Learning. يمكنك أيضًا الوصول إلى الشيفرة المصدرية الكاملة لهذا المشروع <a href="https://github.com/do-community/sign-language-translator" rel="external nofollow">هنا</a>.
</p>

<h2 id="-1">
	المتطلبات الأساسية
</h2>

<p>
	لإكمال هذه المقالة سوف تحتاج إلى ما يلي:
</p>

<ul>
	<li>
		بيئة تطوير محلية لبايثون Python 3 مع ذاكرة وصول عشوائي RAM لا تقل عن 1 جيجابايت. يمكنك قراءة إحدى المقالات التالية لإعداد كل ما تحتاجه حسب نظام التشغيل الذي تنوي العمل عليه: <a href="https://academy.hsoub.com/programming/python/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-3-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A8%D9%8A%D8%A6%D8%A9-%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D9%81%D9%8A-%D8%AA%D9%88%D8%B2%D9%8A%D8%B9%D8%A9-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-1604-r401/" rel="">كيفية تثبيت وإعداد بيئة برمجية محلية لبايثون 3 على نظام أبونتو</a>، <a href="https://academy.hsoub.com/programming/python/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-3-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A8%D9%8A%D8%A6%D8%AA%D9%87-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D8%B9%D9%84%D9%89-%D9%88%D9%8A%D9%86%D8%AF%D9%88%D8%B2-10-r710/" rel="">كيفية تثبيت وإعداد بيئة برمجية محلية لبايثون 3 على نظام ويندوز 10</a>.
	</li>
	<li>
		كاميرا ويب لاكتشاف الصور في الزمن الحقيقي Real time.
	</li>
</ul>

<h2 id="1">
	الخطوة 1 -إنشاء المشروع وتثبيت التبعيات
</h2>

<p>
	نُنشئ الآن مُجلّد عمل لهذا المشروع ونُثبّت التبعيات التي نحتاجها.
</p>

<p>
	في توزيعات لينكس Linux، ابدأ بإعداد مُدير حزم النظام الخاص بك وثبّت حزمة <code>virtualenv</code>. استخدم:
</p>

<pre class="ipsCode">$ apt-get update
$ apt-get upgrade
$ apt-get install python3-venv
</pre>

<p>
	سوف نسمي مُجلّد العمل <code>SignLanguage</code>:
</p>

<pre class="ipsCode">$ mkdir ~/SignLanguage
</pre>

<p>
	ننتقل إلى المجلد:
</p>

<pre class="ipsCode">$ cd ~/SignLanguage
</pre>

<p>
	أنشئ بيئة افتراضية جديدة للمشروع:
</p>

<pre class="ipsCode">$ python3 -m venv signlanguage
</pre>

<p>
	نشّط البيئة:
</p>

<pre class="ipsCode">$ source signlanguage/bin/activate
</pre>

<p>
	ثبّت بايتورش PyTorch، وهو <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">إطار عمل للتعلم العميق في بايثون</a>.
</p>

<p>
	ثبّت بايتورش على نظام التشغيل ماك أو إس macOS باستخدام الأمر التالي:
</p>

<pre class="ipsCode">(signlanguage) $ python -m pip install torch==1.2.0 torchvision==0.4.0
</pre>

<p>
	استخدم الأوامر التالية من أجل بناء النموذج على وحدة المعالجة المركزية CPU سواءًا في لينكس أو ويندوز:
</p>

<pre class="ipsCode">(signlanguage) $ pip install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
(signlanguage) $ pip install torchvision
</pre>

<p>
	نُثبّت الآن الحزم أوبين سي في <code>opencv</code> ونمباي <code>numpy</code> وأونكس <code>onnx</code>، وهي مكتبات الرؤية الحاسوبيّة والجبر الخطي وتصدير وتنفيذ نماذج الذكاء الاصطناعي على التوالي. تُقدّم <code>opencv</code> أدوات مساعدة مثل تدوير الصور والتقاطها والتعديل عليها، وتُقدّم <code>numpy</code> أدوات مساعدة للجبر الخطي مثل انعكاس وضرب المصفوفات:
</p>

<pre class="ipsCode">(signlanguage) $ python -m pip install opencv-python==3.4.3.18 numpy==1.14.5 onnx==1.6.0 onnxruntime==1.0.0
</pre>

<p>
	في توزيعات لينكس، ستحتاج إلى تثبيت <code>libSM.so</code>:
</p>

<pre class="ipsCode">(signlanguage) $ apt-get install libsm6 libxext6 libxrender-dev
</pre>

<p>
	بعد تثبيت التبعيات، دعونا نبني الإصدار الأول من مُترجم لغة الإشارة: مُصنّف لغة الإشارة.
</p>

<h2 id="2">
	الخطوة 2 -إعداد مجموعة بيانات تصنيف لغة الإشارة
</h2>

<p>
	في الأقسام الثلاثة التالية، ستبني مُصنّف لغة الإشارة باستخدام شبكة عصبية. هدفك هو إنتاج نموذج يقبل صورة اليد كمدخل ويخرج حرفًا. الخطوات الثلاث التالية مطلوبة لبناء نموذج تعلّم آلي لمهمة التصنيف التي لدينا:
</p>

<ul>
	<li>
		المعالجة المسبقة للبيانات: تطبيق تشفير الواحد النشط One-hot encoding على التسميات Labels وتغليف البيانات بموَتِّرات بايتورش (أو تينسرات بايتورش) PyTorch Tensors . تدريب النموذج على البيانات الإضافية من عملية الزيادة augmentation، وذلك لإعداده للإدخال غير العادي، أي عندما تكون اليد في أوضاع غير قياسيّة، مثل اليد غير المتمركزة أو المدورة.
	</li>
	<li>
		تحديد النموذج وتدريبه: إنشاء شبكة عصبية باستخدام بايتورش وتحديد معلمات التدريب العليا hyper-parameters -مثل مدة التدريب- وتشغيل خوارزميّة النزول الاشتقاقي العشوائي stochastic gradient descent. تتضمّن هذه المرحلة أيضًا تعديل إحدى معلمات التدريب العليا أثناء عملية التدريب، وهي قيمة مُعدّل التعلّم learning rate، وذلك من خلال جدول مُعدّل التعلّم، فكما ذكرنا سابقًا؛ هذا سوف يرفع دقة النموذج.
	</li>
	<li>
		التنبؤ باستخدام النموذج: تقييم الشبكة العصبية على بيانات التحقق لفهم دقتها. ثم تصدير النموذج إلى تنسيق يسمى ONNX للحصول على استدلال أسرع.
	</li>
</ul>

<p>
	<strong>ملاحظات:</strong>
</p>

<ul>
	<li>
		تشفير الواحد النشط عبارة عن أشعة Vectors كل شعاع تكون جميع قيمه أصفار ماعدا بعد واحد فقط من الشعاع تكون قيمته واحد. قيمة الواحد تُشير إلى شيء معين. في جالتنا تشير إلى الصنف الذي يُعبر عن العينة المرتبطة به.
	</li>
	<li>
		تُشير موَتِّرات بايتورش PyTorch Tensors إلى هيكل البيانات الأساسي في بايتورش، تُشبه مصفوفات نمباي NumPy مع وظائف إضافية مُحسّنة من أجل دعم عمليات التعلّم العميق Deep Learning. تُعتبر مكونًا أساسيًا يُتيح التنفيّذ الفعّال لحسابات الشبكة العصبية.
	</li>
</ul>

<p>
	في هذا القسم من المقالة ستنجز الخطوة الأولى التي تتضمّن تجهيز مجموعة البيانات ومعالجتها. هذا يتضمّن تنزيل البيانات وإنشاء كائن <code>Dataset</code> لتغليفها والتكرار عليها وتطبيق تقنية زيادة البيانات أخيرًا. في نهاية هذه الخطوة، سيكون لديك طريقة برمجية للوصول إلى الصور والتسميات الموجودة في مجموعة البيانات الخاصة بك لتغذية النموذج.
</p>

<p>
	أولاً، عليك تنزيل مجموعة البيانات إلى مجلد العمل الحالي الخاص بك:
</p>

<p>
	<strong>ملاحظة:</strong> في نظام التشغيل ماك، لا يتوفر <code>wget</code> افتراضيًا. لذلك يجب عليك تثبيت <code>Homebrew</code> ثم تشغيل برنامج <code>Brew install wget</code>.
</p>

<pre class="ipsCode">(signlanguage) $ wget https://assets.digitalocean.com/articles/signlanguage_data/sign-language-mnist.tar.gz
</pre>

<p>
	فك ضغط الملف المضغوط الذي يحتوي على مجلد <code>/data</code>:
</p>

<pre class="ipsCode">(signlanguage) $ tar -xzf sign-language-mnist.tar.gz
</pre>

<p>
	أنشئ ملفًا جديدًا باسم <code>step_2_dataset.py</code>:
</p>

<pre class="ipsCode">(signlanguage) $ nano step_2_dataset.py
</pre>

<p>
	يجب عليك الآن استيراد الأدوات المساعدة الضرورية، ثم إنشاء الصنف الذي سيُغلّف مجموعات بيانات التدريب والاختبار ويعالجها بالشكل المناسب، وذلك من خلال تنفيذ الواجهة <code>Dataset</code> الخاصة ببايتورش، هذا يسمح لك بتحميل واستخدام خط معالجة (أو خط أنابيب) البيانات المدمج في بايتورش مع مجموعة بيانات تصنيف لغة الإشارة خاصتك:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_8" style=""><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Dataset</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">autograd </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Variable</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn </span><span class="kwd">as</span><span class="pln"> nn
</span><span class="kwd">import</span><span class="pln"> numpy </span><span class="kwd">as</span><span class="pln"> np
</span><span class="kwd">import</span><span class="pln"> torch

</span><span class="kwd">import</span><span class="pln"> csv


</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">SignLanguageMNIST</span><span class="pun">(</span><span class="typ">Dataset</span><span class="pun">):</span><span class="pln">
    </span><span class="str">"""مجموعة بيانات تصنيف لغة الإشارة

    تُستخدم هذه الفئة كأداة لتحميل مجموعة بيانات لغة الإشارة في بايتورش
    """</span><span class="pln">
    </span><span class="kwd">pass</span></pre>

<p>
	يُمثّل الصنف <code>SignLanguageMNIST</code> مجموعة بيانات تصنيف لغة الإشارة. إنها أداة مساعدة لتحميل مجموعة بيانات لغة الإشارة إلى بايتورش. <a href="https://www.kaggle.com/datamunge/sign-language-mnist" rel="external nofollow">مجموعة البيانات المستخدمة منشورة على موقع كاغل Kaggle في عام 2017</a>، لمؤلف لم يُذكر اسمه الصريح، لكن اسم المستخدم هو <code>tecperson</code>. كل عينة عبارة عن مصفوفة من الشكل 28<em>28</em>1*1، وكل تسمية Label هي قيمة عددية scalar.
</p>

<p>
	احذف الآن العنصر النائب <code>pass</code> من الصنف <code>SignLanguageMNIST</code>. وضع مكانه تابعًا لتوليد قائمة بالتسميات المتوفرة في مجموعة البيانات اسمها <code>mapping</code>، وذلك لربط كل تسمية بفهرس:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_10" style=""><span class="lit">@staticmethod</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> get_label_mapping</span><span class="pun">():</span><span class="pln">
        </span><span class="str">"""
    تُعيد قائمة تربط بين تسميات مجموعة البيانات وفهارس الحروف 
    تحويل نطاق فهارس التسميات الأصلية إلى نطاق جديد يبدأ من 0 حتى 23
        """</span><span class="pln">
        mapping </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="pln">range</span><span class="pun">(</span><span class="lit">25</span><span class="pun">))</span><span class="pln">
        mapping</span><span class="pun">.</span><span class="pln">pop</span><span class="pun">(</span><span class="lit">9</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> mapping</span></pre>

<p>
	تحتوي التسميات الأصلية في مجموعة البيانات على قيم تتراوح من 0 إلى 25. وتتوافق كل قيمة مع حرف معين، باستثناء الحرفين J و Z المستبعدين. لذلك يوجد 24 تسمية صالحة في النطاق الأصلي (من 0 إلى 25 باستثناء 9 و25). الهدف من هذه الشيفرة هو تعديل مجال قيم التسميات إلى مجال آخر، أي تحويل نطاق فهارس التسميات الأصلية إلى نطاق جديد يبدأ من 0 ويكون متجاورًا حتى 23. وبعبارة أخرى، <strong>نطاق الفهارس</strong> الجديد هو [0، 1، 2، .. ، 23]، وذلك للتأكد من أن قيم التسمية تكون في تسلسل مضغوط متجاور. بشكل أوضح سيكون الخرج هو القائمة التالية:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_1478_14" style=""><span class="pln">[0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]</span></pre>

<p>
	نلاحظ أن قيم هذه القائمة تبدأ بالعدد 0 الذي يُشير للحرف A ويقابل الفهرس 0، وتنتهي مع العدد 24 والذي يشير للحرف Y ويقابل الفهرس 23. هذا يُسهل المعالجة والتفسير في خطوات المعالجة اللاحقة.
</p>

<p>
	أضف بعد ذلك تابعًا لاستخراج التسميات والعينات من ملف CSV. تفترض الشيفرة التالية أن كل سطر من ملف CSV يبدأ بالتسمية (أي العمود الأول) ثم يتبعه قيم 784 بكسل (باقي الأعمدة). تُمثّل قيم 784 بكسل هذه صورة مقاسها 28 × 28، وكل بكسل تتراوح قيمته بين 0-255:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_12" style=""><span class="lit">@staticmethod</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> read_label_samples_from_csv</span><span class="pun">(</span><span class="pln">path</span><span class="pun">:</span><span class="pln"> str</span><span class="pun">):</span><span class="pln">
        </span><span class="str">"""
     يُمثّل التسمية وباقي القيم 2^28 هي قيم البكسلات CSV نفترض أن العمود الأول من ملف 
    قيم البكسلات تتراوح بين 0 إلى 255
        """</span><span class="pln">
        mapping </span><span class="pun">=</span><span class="pln"> </span><span class="typ">SignLanguageMNIST</span><span class="pun">.</span><span class="pln">get_label_mapping</span><span class="pun">()</span><span class="pln">
        labels</span><span class="pun">,</span><span class="pln"> samples </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[],</span><span class="pln"> </span><span class="pun">[]</span><span class="pln">
        </span><span class="kwd">with</span><span class="pln"> open</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> f</span><span class="pun">:</span><span class="pln">
            _ </span><span class="pun">=</span><span class="pln"> next</span><span class="pun">(</span><span class="pln">f</span><span class="pun">)</span><span class="pln">  </span><span class="com"># skip header</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> line </span><span class="kwd">in</span><span class="pln"> csv</span><span class="pun">.</span><span class="pln">reader</span><span class="pun">(</span><span class="pln">f</span><span class="pun">):</span><span class="pln">
                label </span><span class="pun">=</span><span class="pln"> int</span><span class="pun">(</span><span class="pln">line</span><span class="pun">[</span><span class="lit">0</span><span class="pun">])</span><span class="pln"> 
                labels</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">mapping</span><span class="pun">.</span><span class="pln">index</span><span class="pun">(</span><span class="pln">label</span><span class="pun">))</span><span class="pln">
                samples</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">list</span><span class="pun">(</span><span class="pln">map</span><span class="pun">(</span><span class="pln">int</span><span class="pun">,</span><span class="pln"> line</span><span class="pun">[</span><span class="lit">1</span><span class="pun">:])))</span><span class="pln"> 
        </span><span class="kwd">return</span><span class="pln"> labels</span><span class="pun">,</span><span class="pln"> samples</span></pre>

<p>
	لاحظ أن كل سطر من الكائن <code>csv.reader</code> القابل للتكرار عبارة عن قائمة من السلاسل. لهذا السبب نحن نستدعي الدالة <code>int</code> و <code>map</code> لتحويل جميع السلاسل إلى أعداد صحيحة.
</p>

<p>
	نضع بعد هذا التابع الثابت static مباشرةً، تابعًا آخر من أجل تهيئة حامل البيانات لدينا:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_16" style=""><span class="kwd">def</span><span class="pln"> __init__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln">
            path</span><span class="pun">:</span><span class="pln"> str</span><span class="pun">=</span><span class="str">"data/sign_mnist_train.csv"</span><span class="pun">,</span><span class="pln">
            mean</span><span class="pun">:</span><span class="pln"> </span><span class="typ">List</span><span class="pun">[</span><span class="pln">float</span><span class="pun">]=[</span><span class="lit">0.485</span><span class="pun">],</span><span class="pln">
            std</span><span class="pun">:</span><span class="pln"> </span><span class="typ">List</span><span class="pun">[</span><span class="pln">float</span><span class="pun">]=[</span><span class="lit">0.229</span><span class="pun">]):</span><span class="pln">
        </span><span class="str">"""
        المعطيات:
            path: الذي يحتوي مجموعة البيانات .csv يُستخدم من أجل تحديد مسار ملف
        """</span><span class="pln">
        labels</span><span class="pun">,</span><span class="pln"> samples </span><span class="pun">=</span><span class="pln"> </span><span class="typ">SignLanguageMNIST</span><span class="pun">.</span><span class="pln">read_label_samples_from_csv</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">_samples </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">array</span><span class="pun">(</span><span class="pln">samples</span><span class="pun">,</span><span class="pln"> dtype</span><span class="pun">=</span><span class="pln">np</span><span class="pun">.</span><span class="pln">uint8</span><span class="pun">).</span><span class="pln">reshape</span><span class="pun">((-</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">))</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">_labels </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">array</span><span class="pun">(</span><span class="pln">labels</span><span class="pun">,</span><span class="pln"> dtype</span><span class="pun">=</span><span class="pln">np</span><span class="pun">.</span><span class="pln">uint8</span><span class="pun">).</span><span class="pln">reshape</span><span class="pun">((-</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">))</span><span class="pln">

        self</span><span class="pun">.</span><span class="pln">_mean </span><span class="pun">=</span><span class="pln"> mean
        self</span><span class="pun">.</span><span class="pln">_std </span><span class="pun">=</span><span class="pln"> std</span></pre>

<p>
	يبدأ هذا التابع بتحميل العينات والتسميات. ثم يُغلّف البيانات بمصفوفات نمباي. نشرح معلومات المتوسط والانحراف المعياري قريبًا، في قسم <code>__getitem__</code> التالي.
</p>

<p>
	<strong>ملاحظة:</strong> ملف <code>csv.</code> الذي يحتوي مجموعة البيانات أعمدته هي: <code>label</code>, <code>pixel0</code>, <code>pixel1</code>, … , <code>pixeln</code>
</p>

<p>
	نضيف التابع <code>__len__</code> بعد التابع <code>__init__</code> مباشرةً. تتطلب مجموعة البيانات هذه طريقة لتحديد متى يجب إيقاف التكرار على البيانات، وهذه الطريقة هي التابع <code>__len__</code> الذي يخبرها بآخر عنصر في مجموعة البيانات:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_18" style=""><span class="pun">...</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> __len__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> len</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_labels</span><span class="pun">)</span></pre>

<p>
	أخيرًا، أضف التابع <code>__getitem__</code> الذي يُرجع قاموسًا <code>Dict</code> يحتوي على العينة والتسمية:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_20" style=""><span class="kwd">def</span><span class="pln"> __getitem__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln"> idx</span><span class="pun">):</span><span class="pln">
        transform </span><span class="pun">=</span><span class="pln"> transforms</span><span class="pun">.</span><span class="typ">Compose</span><span class="pun">([</span><span class="pln">
            transforms</span><span class="pun">.</span><span class="typ">ToPILImage</span><span class="pun">(),</span><span class="pln">
            transforms</span><span class="pun">.</span><span class="typ">RandomResizedCrop</span><span class="pun">(</span><span class="lit">28</span><span class="pun">,</span><span class="pln"> scale</span><span class="pun">=(</span><span class="lit">0.8</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.2</span><span class="pun">)),</span><span class="pln">
            transforms</span><span class="pun">.</span><span class="typ">ToTensor</span><span class="pun">(),</span><span class="pln">
            transforms</span><span class="pun">.</span><span class="typ">Normalize</span><span class="pun">(</span><span class="pln">mean</span><span class="pun">=</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_mean</span><span class="pun">,</span><span class="pln"> std</span><span class="pun">=</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_std</span><span class="pun">)])</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="str">'image'</span><span class="pun">:</span><span class="pln"> transform</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_samples</span><span class="pun">[</span><span class="pln">idx</span><span class="pun">]).</span><span class="pln">float</span><span class="pun">(),</span><span class="pln">
            </span><span class="str">'label'</span><span class="pun">:</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">from_numpy</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_labels</span><span class="pun">[</span><span class="pln">idx</span><span class="pun">]).</span><span class="pln">float</span><span class="pun">()</span><span class="pln">
        </span><span class="pun">}</span></pre>

<p>
	نحن نستخدم تقنية تُعرف باسم زيادة البيانات أثناء التدريب، حيث تخضع العينات لتغييرات لتعزيز مرونة النموذج في فهم هذه الاختلافات (مثلًا حتى لو قمنا بقلب الصورة رأسًا على عقب أو كبّرنا الصورة أو غيرنا بعض الألوان، يجب أن يفهم النموذج أن جميعها تنتمي لنفس التسمية). على وجه التحديد، نُجري عمليات تكبير الصورة عشوائيًا على مستويات ومواضع مختلفة باستخدام <code>RandomResizeCrop</code>. من المهم تسليط الضوء على أن عملية التكبير هذه يجب أن لا تؤثر على تسمية لغة الإشارة النهائية، أي يجب أن تظل التسمية دون تغيير. بالإضافة إلى ذلك، يمكنك تسوية أو تقييس Normalize المدخلات، مما يضمن أن قيم بكسلات الصورة تقع ضمن النطاق [0، 1] بدلاً من [0، 255]. لتحقيق ذلك، استخدم المتوسط والانحراف المعياري لمجموعة البيانات (<code>mean_</code> و <code>std_</code>) أثناء عملية التقييس.
</p>

<p>
	سيكون الصنف <code>SignLanguageMNIST</code> الكامل كما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_22" style=""><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Dataset</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">autograd </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Variable</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> torchvision</span><span class="pun">.</span><span class="pln">transforms </span><span class="kwd">as</span><span class="pln"> transforms
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn </span><span class="kwd">as</span><span class="pln"> nn
</span><span class="kwd">import</span><span class="pln"> numpy </span><span class="kwd">as</span><span class="pln"> np
</span><span class="kwd">import</span><span class="pln"> torch

</span><span class="kwd">from</span><span class="pln"> typing </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">List</span><span class="pln">

</span><span class="kwd">import</span><span class="pln"> csv


</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">SignLanguageMNIST</span><span class="pun">(</span><span class="typ">Dataset</span><span class="pun">):</span><span class="pln">
    </span><span class="str">"""مجموعة بيانات تصنيف لغة الإشارة

    تُستخدم هذه الفئة كأداة لتحميل مجموعة بيانات لغة الإشارة في بايتورش
    """</span><span class="pln">

    </span><span class="lit">@staticmethod</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> get_label_mapping</span><span class="pun">():</span><span class="pln">
        </span><span class="str">"""
    تُعيد قائمة تربط بين تسميات مجموعة البيانات وفهارس الحروف
            تحويل نطاق فهارس التسميات الأصلية إلى نطاق جديد يبدأ من 0 حتى 23
        """</span><span class="pln">
        mapping </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="pln">range</span><span class="pun">(</span><span class="lit">25</span><span class="pun">))</span><span class="pln">
        mapping</span><span class="pun">.</span><span class="pln">pop</span><span class="pun">(</span><span class="lit">9</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> mapping

    </span><span class="lit">@staticmethod</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> read_label_samples_from_csv</span><span class="pun">(</span><span class="pln">path</span><span class="pun">:</span><span class="pln"> str</span><span class="pun">):</span><span class="pln">
        </span><span class="str">"""
     يُمثّل التسمية وباقي القيم 2^28 هي قيم البكسلات CSV نفترض أن العمود الأول من ملف 
    قيم البكسلات تتراوح بين 0 إلى 255
        """</span><span class="pln">
        mapping </span><span class="pun">=</span><span class="pln"> </span><span class="typ">SignLanguageMNIST</span><span class="pun">.</span><span class="pln">get_label_mapping</span><span class="pun">()</span><span class="pln">
        labels</span><span class="pun">,</span><span class="pln"> samples </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[],</span><span class="pln"> </span><span class="pun">[]</span><span class="pln">
        </span><span class="kwd">with</span><span class="pln"> open</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> f</span><span class="pun">:</span><span class="pln">
            _ </span><span class="pun">=</span><span class="pln"> next</span><span class="pun">(</span><span class="pln">f</span><span class="pun">)</span><span class="pln">  </span><span class="com"># skip header</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> line </span><span class="kwd">in</span><span class="pln"> csv</span><span class="pun">.</span><span class="pln">reader</span><span class="pun">(</span><span class="pln">f</span><span class="pun">):</span><span class="pln">
                label </span><span class="pun">=</span><span class="pln"> int</span><span class="pun">(</span><span class="pln">line</span><span class="pun">[</span><span class="lit">0</span><span class="pun">])</span><span class="pln">
                labels</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">mapping</span><span class="pun">.</span><span class="pln">index</span><span class="pun">(</span><span class="pln">label</span><span class="pun">))</span><span class="pln">
                samples</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">list</span><span class="pun">(</span><span class="pln">map</span><span class="pun">(</span><span class="pln">int</span><span class="pun">,</span><span class="pln"> line</span><span class="pun">[</span><span class="lit">1</span><span class="pun">:])))</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> labels</span><span class="pun">,</span><span class="pln"> samples

    </span><span class="kwd">def</span><span class="pln"> __init__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln">
            path</span><span class="pun">:</span><span class="pln"> str</span><span class="pun">=</span><span class="str">"data/sign_mnist_train.csv"</span><span class="pun">,</span><span class="pln">
            mean</span><span class="pun">:</span><span class="pln"> </span><span class="typ">List</span><span class="pun">[</span><span class="pln">float</span><span class="pun">]=[</span><span class="lit">0.485</span><span class="pun">],</span><span class="pln">
            std</span><span class="pun">:</span><span class="pln"> </span><span class="typ">List</span><span class="pun">[</span><span class="pln">float</span><span class="pun">]=[</span><span class="lit">0.229</span><span class="pun">]):</span><span class="pln">
        </span><span class="str">"""
        المعطيات:
            path: الذي يحتوي مجموعة البيانات .csv يُستخدم من أجل تحديد مسار ملف
        """</span><span class="pln">
        labels</span><span class="pun">,</span><span class="pln"> samples </span><span class="pun">=</span><span class="pln"> </span><span class="typ">SignLanguageMNIST</span><span class="pun">.</span><span class="pln">read_label_samples_from_csv</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">_samples </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">array</span><span class="pun">(</span><span class="pln">samples</span><span class="pun">,</span><span class="pln"> dtype</span><span class="pun">=</span><span class="pln">np</span><span class="pun">.</span><span class="pln">uint8</span><span class="pun">).</span><span class="pln">reshape</span><span class="pun">((-</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">))</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">_labels </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">array</span><span class="pun">(</span><span class="pln">labels</span><span class="pun">,</span><span class="pln"> dtype</span><span class="pun">=</span><span class="pln">np</span><span class="pun">.</span><span class="pln">uint8</span><span class="pun">).</span><span class="pln">reshape</span><span class="pun">((-</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">))</span><span class="pln">

        self</span><span class="pun">.</span><span class="pln">_mean </span><span class="pun">=</span><span class="pln"> mean
        self</span><span class="pun">.</span><span class="pln">_std </span><span class="pun">=</span><span class="pln"> std

    </span><span class="kwd">def</span><span class="pln"> __len__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> len</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_labels</span><span class="pun">)</span><span class="pln">

    </span><span class="kwd">def</span><span class="pln"> __getitem__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln"> idx</span><span class="pun">):</span><span class="pln">
        transform </span><span class="pun">=</span><span class="pln"> transforms</span><span class="pun">.</span><span class="typ">Compose</span><span class="pun">([</span><span class="pln">
            transforms</span><span class="pun">.</span><span class="typ">ToPILImage</span><span class="pun">(),</span><span class="pln">
            transforms</span><span class="pun">.</span><span class="typ">RandomResizedCrop</span><span class="pun">(</span><span class="lit">28</span><span class="pun">,</span><span class="pln"> scale</span><span class="pun">=(</span><span class="lit">0.8</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.2</span><span class="pun">)),</span><span class="pln">
            transforms</span><span class="pun">.</span><span class="typ">ToTensor</span><span class="pun">(),</span><span class="pln">
            transforms</span><span class="pun">.</span><span class="typ">Normalize</span><span class="pun">(</span><span class="pln">mean</span><span class="pun">=</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_mean</span><span class="pun">,</span><span class="pln"> std</span><span class="pun">=</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_std</span><span class="pun">)])</span><span class="pln">

        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="str">'image'</span><span class="pun">:</span><span class="pln"> transform</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_samples</span><span class="pun">[</span><span class="pln">idx</span><span class="pun">]).</span><span class="pln">float</span><span class="pun">(),</span><span class="pln">
            </span><span class="str">'label'</span><span class="pun">:</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">from_numpy</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">_labels</span><span class="pun">[</span><span class="pln">idx</span><span class="pun">]).</span><span class="pln">float</span><span class="pun">()</span><span class="pln">
        </span><span class="pun">}</span></pre>

<p>
	ستتحقق الآن من توابع الأداة المساعدة لمجموعة البيانات الخاصة بنا عن طريق تحميل مجموعة بيانات <code>SignLanguageMNIST</code>. أضف الشيفرة التالية إلى نهاية ملفك بعد الصنف <code>SignLanguageMNIST</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_24" style=""><span class="kwd">def</span><span class="pln"> get_train_test_loaders</span><span class="pun">(</span><span class="pln">batch_size</span><span class="pun">=</span><span class="lit">32</span><span class="pun">):</span><span class="pln">
    trainset </span><span class="pun">=</span><span class="pln"> </span><span class="typ">SignLanguageMNIST</span><span class="pun">(</span><span class="str">'data/sign_mnist_train.csv'</span><span class="pun">)</span><span class="pln">
    trainloader </span><span class="pun">=</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="typ">DataLoader</span><span class="pun">(</span><span class="pln">trainset</span><span class="pun">,</span><span class="pln"> batch_size</span><span class="pun">=</span><span class="pln">batch_size</span><span class="pun">,</span><span class="pln"> shuffle</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">

    testset </span><span class="pun">=</span><span class="pln"> </span><span class="typ">SignLanguageMNIST</span><span class="pun">(</span><span class="str">'data/sign_mnist_test.csv'</span><span class="pun">)</span><span class="pln">
    testloader </span><span class="pun">=</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="typ">DataLoader</span><span class="pun">(</span><span class="pln">testset</span><span class="pun">,</span><span class="pln"> batch_size</span><span class="pun">=</span><span class="pln">batch_size</span><span class="pun">,</span><span class="pln"> shuffle</span><span class="pun">=</span><span class="kwd">False</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> trainloader</span><span class="pun">,</span><span class="pln"> testloader</span></pre>

<p>
	من خلال هذه الشيفرة تجري عملية تهيئة مجموعة البيانات باستخدام الصنف <code>SignLanguageMNIST</code>، ثم بالنسبة لمجموعات التدريب والتحقق، تُغلّف مجموعة البيانات في <code>DataLoader</code>. يؤدي هذا إلى تحويل مجموعة البيانات إلى نسخة قابلة للتكرار لاستخدامها لاحقًا أثناء تدريب النموذح.
</p>

<p>
	تتحقق الآن من أن الأدوات المساعدة لمجموعة البيانات تعمل، وذلك من خلال استدعاء الدالة <code>get_train_test_loaders</code> التي تُرجع مُحملي بيانات من الصنف <code>DataLoader</code>. نكتفي بواحد منهم للاختبار، ونسنده للمتغير <code>loader</code>، ثم نطبع السطر الأول من هذا المُحمّل. أضف ما يلي إلى نهاية ملفك:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_26" style=""><span class="kwd">if</span><span class="pln"> __name__ </span><span class="pun">==</span><span class="pln"> </span><span class="str">'__main__'</span><span class="pun">:</span><span class="pln">
    loader</span><span class="pun">,</span><span class="pln"> _ </span><span class="pun">=</span><span class="pln"> get_train_test_loaders</span><span class="pun">(</span><span class="lit">2</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">next</span><span class="pun">(</span><span class="pln">iter</span><span class="pun">(</span><span class="pln">loader</span><span class="pun">)))</span></pre>

<p>
	يمكنك التحقق من أن ملفك يطابق ملف <code>step_2_dataset</code> الموجود في هذا <a href="https://github.com/do-community/sign-language-translator/blob/master/src/step_2_dataset.py" rel="external nofollow">المستودع</a>. اخرج من المحرر الخاص بك وشغّل البرنامج بما يلي:
</p>

<pre class="ipsCode">(signlanguage) $ python step_2_dataset.py
</pre>

<p>
	يؤدي هذا إلى إخراج الزوج التالي من الموترات tensors. يقوم خط معالجة البيانات الخاص بنا بإخراج عينتين وتسميتين. يشير هذا إلى أن خط معالجة البيانات الخاص بنا جاهز للانطلاق:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_28" style=""><span class="pun">{</span><span class="str">'image'</span><span class="pun">:</span><span class="pln"> tensor</span><span class="pun">([[[[</span><span class="pln"> </span><span class="lit">0.4337</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.5022</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.5707</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln">  </span><span class="lit">0.9988</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.9646</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.9646</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">[</span><span class="pln"> </span><span class="lit">0.4851</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.5536</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.6049</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln">  </span><span class="lit">1.0502</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.0159</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.9988</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">[</span><span class="pln"> </span><span class="lit">0.5364</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.6049</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.6392</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln">  </span><span class="lit">1.0844</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.0844</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.0673</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">...,</span><span class="pln">
          </span><span class="pun">[-</span><span class="lit">0.5253</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.4739</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.4054</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln">  </span><span class="lit">0.9474</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.2557</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.2385</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">[-</span><span class="lit">0.3369</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.3369</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.3369</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln">  </span><span class="lit">0.0569</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.3584</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.3242</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">[-</span><span class="lit">0.3712</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.3369</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.3198</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln">  </span><span class="lit">0.5364</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.5364</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.4783</span><span class="pun">]]],</span><span class="pln">


        </span><span class="pun">[[[</span><span class="pln"> </span><span class="lit">0.2111</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.2796</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.3481</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln">  </span><span class="lit">0.2453</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.1314</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.2342</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">[</span><span class="pln"> </span><span class="lit">0.2624</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.3309</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.3652</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.3883</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.0629</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.4568</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">[</span><span class="pln"> </span><span class="lit">0.3309</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.3823</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.4337</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.4054</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.0458</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1.0048</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">...,</span><span class="pln">
          </span><span class="pun">[</span><span class="pln"> </span><span class="lit">1.3242</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.3584</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.3927</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.4054</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.4568</span><span class="pun">,</span><span class="pln">  </span><span class="lit">0.0227</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">[</span><span class="pln"> </span><span class="lit">1.3242</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.3927</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.4612</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.1657</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.6281</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.0287</span><span class="pun">],</span><span class="pln">
          </span><span class="pun">[</span><span class="pln"> </span><span class="lit">1.3242</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.3927</span><span class="pun">,</span><span class="pln">  </span><span class="lit">1.4440</span><span class="pun">,</span><span class="pln">  </span><span class="pun">...,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.4397</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.6452</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">0.2856</span><span class="pun">]]]]),</span><span class="pln"> </span><span class="str">'label'</span><span class="pun">:</span><span class="pln"> tensor</span><span class="pun">([[</span><span class="lit">24.</span><span class="pun">],</span><span class="pln">
        </span><span class="pun">[</span><span class="lit">11.</span><span class="pun">]])}</span></pre>

<p>
	لقد تحققت الآن من أن خط معالجة البيانات الخاص بك يعمل. بهذا تنتهي الخطوة الأولى -المعالجة المسبقة لبياناتك- والتي تتضمّن الآن تقنية زيادة البيانات لزيادة قوة النموذج. بعد ذلك سوف نبني الشبكة العصبية والمُحسّن.
</p>

<h2 id="3">
	الخطوة 3: بناء وتدريب مصنف لغة الإشارة باستخدام التعلم العميق
</h2>

<p>
	باستخدام خط معالجة بيانات فعّال، ستتمكن الآن من بناء نموذج وتدريبه على البيانات. على وجه التحديد ستبني شبكة عصبية من ست طبقات وتعرّف دالة الخسارة والمحسّن، وأخيرًا أمثلة تحسين optimize دالة الخسارة لتنبؤات الشبكة العصبية الخاصة بك. في نهاية هذه الخطوة، سيكون لديك مُصنّف لغة إشارة فعّال.
</p>

<p>
	أنشئ ملفًا جديدًا يُسمى <code>step_3_train.py</code>:
</p>

<pre class="ipsCode">(signlanguage) $ nano step_3_train.py
</pre>

<p>
	قم باستيراد الأدوات التي تحتاجها:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_36" style=""><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Dataset</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">autograd </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Variable</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn </span><span class="kwd">as</span><span class="pln"> nn
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn</span><span class="pun">.</span><span class="pln">functional </span><span class="kwd">as</span><span class="pln"> F
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">optim </span><span class="kwd">as</span><span class="pln"> optim
</span><span class="kwd">import</span><span class="pln"> torch

</span><span class="kwd">from</span><span class="pln"> step_2_dataset </span><span class="kwd">import</span><span class="pln"> get_train_test_loaders</span></pre>

<p>
	نُعرّف الآن شبكة عصبية باستخدام بايتورش تتضمن ثلاث طبقات تلافيفية Convolutional Layers، تليها ثلاث طبقات متصلة بالكامل Fully Connected Layers. أضف الشيفرة التالية إلى نهاية البرنامج الموجود لديك:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_34" style=""><span class="kwd">class</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">(</span><span class="pln">nn</span><span class="pun">.</span><span class="typ">Module</span><span class="pun">):</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> __init__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        super</span><span class="pun">(</span><span class="typ">Net</span><span class="pun">,</span><span class="pln"> self</span><span class="pun">).</span><span class="pln">__init__</span><span class="pun">()</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">conv1 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Conv2d</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">pool </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">MaxPool2d</span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">conv2 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Conv2d</span><span class="pun">(</span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">conv3 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Conv2d</span><span class="pun">(</span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">16</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">fc1 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Linear</span><span class="pun">(</span><span class="lit">16</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">5</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">5</span><span class="pun">,</span><span class="pln"> </span><span class="lit">120</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">fc2 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Linear</span><span class="pun">(</span><span class="lit">120</span><span class="pun">,</span><span class="pln"> </span><span class="lit">48</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">fc3 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Linear</span><span class="pun">(</span><span class="lit">48</span><span class="pun">,</span><span class="pln"> </span><span class="lit">24</span><span class="pun">)</span><span class="pln">

    </span><span class="kwd">def</span><span class="pln"> forward</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln"> x</span><span class="pun">):</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">conv1</span><span class="pun">(</span><span class="pln">x</span><span class="pun">))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">pool</span><span class="pun">(</span><span class="pln">F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">conv2</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">pool</span><span class="pun">(</span><span class="pln">F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">conv3</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> x</span><span class="pun">.</span><span class="pln">view</span><span class="pun">(-</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">16</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">5</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">5</span><span class="pun">)</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">fc1</span><span class="pun">(</span><span class="pln">x</span><span class="pun">))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">fc2</span><span class="pun">(</span><span class="pln">x</span><span class="pun">))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">fc3</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> x</span></pre>

<p>
	نُهيّئ الآن الشبكة العصبية ونُعرّف دالة الخسارة ونحدد معلمات التحسين العليا عن طريق إضافة الشيفرة التالية إلى نهاية البرنامج:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_32" style=""><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    net </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">().</span><span class="pln">float</span><span class="pun">()</span><span class="pln">
    criterion </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">CrossEntropyLoss</span><span class="pun">()</span><span class="pln">
    optimizer </span><span class="pun">=</span><span class="pln"> optim</span><span class="pun">.</span><span class="pln">SGD</span><span class="pun">(</span><span class="pln">net</span><span class="pun">.</span><span class="pln">parameters</span><span class="pun">(),</span><span class="pln"> lr</span><span class="pun">=</span><span class="lit">0.01</span><span class="pun">,</span><span class="pln"> momentum</span><span class="pun">=</span><span class="lit">0.9</span><span class="pun">)</span></pre>

<p>
	أخيرًا، تُدرّب النموذج على دورتين:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_30" style=""><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    net </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">().</span><span class="pln">float</span><span class="pun">()</span><span class="pln">
    criterion </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">CrossEntropyLoss</span><span class="pun">()</span><span class="pln">
    optimizer </span><span class="pun">=</span><span class="pln"> optim</span><span class="pun">.</span><span class="pln">SGD</span><span class="pun">(</span><span class="pln">net</span><span class="pun">.</span><span class="pln">parameters</span><span class="pun">(),</span><span class="pln"> lr</span><span class="pun">=</span><span class="lit">0.01</span><span class="pun">,</span><span class="pln"> momentum</span><span class="pun">=</span><span class="lit">0.9</span><span class="pun">)</span><span class="pln">

    trainloader</span><span class="pun">,</span><span class="pln"> _ </span><span class="pun">=</span><span class="pln"> get_train_test_loaders</span><span class="pun">()</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> epoch </span><span class="kwd">in</span><span class="pln"> range</span><span class="pun">(</span><span class="lit">2</span><span class="pun">):</span><span class="pln">  </span><span class="com"># loop over the dataset multiple times</span><span class="pln">
        train</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> criterion</span><span class="pun">,</span><span class="pln"> optimizer</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">,</span><span class="pln"> epoch</span><span class="pun">)</span><span class="pln">
    torch</span><span class="pun">.</span><span class="pln">save</span><span class="pun">(</span><span class="pln">net</span><span class="pun">.</span><span class="pln">state_dict</span><span class="pun">(),</span><span class="pln"> </span><span class="str">"checkpoint.pth"</span><span class="pun">)</span></pre>

<p>
	تشير دورة تدريب أو "epoch" إلى دورة واحدة كاملة عبر مجموعة البيانات التدريبية خلال مرحلة التدريب. خلال كل دورة تدريب تُعرض كل عينات البيانات الموجودة في مجموعة البيانات التدريبية مرة واحدة تمامًا على النموذج. في نهاية الدالة <code>main</code> تُحفظ معلمات النموذج في ملف يسمى <code>checkpoint.pth</code>.
</p>

<p>
	أضف التعليمة البرمجية التالية إلى نهاية البرنامج الخاص بك لاستخراج الصورة والتسمية من مُحمل مجموعة البيانات ثم غلّف كل منهما في متغير بايتورش:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_38" style=""><span class="kwd">def</span><span class="pln"> train</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> criterion</span><span class="pun">,</span><span class="pln"> optimizer</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">,</span><span class="pln"> epoch</span><span class="pun">):</span><span class="pln">
    running_loss </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.0</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> data </span><span class="kwd">in</span><span class="pln"> enumerate</span><span class="pun">(</span><span class="pln">trainloader</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">):</span><span class="pln">
        inputs </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Variable</span><span class="pun">(</span><span class="pln">data</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">].</span><span class="pln">float</span><span class="pun">())</span><span class="pln">
        labels </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Variable</span><span class="pun">(</span><span class="pln">data</span><span class="pun">[</span><span class="str">'label'</span><span class="pun">].</span><span class="pln">long</span><span class="pun">())</span><span class="pln">
        optimizer</span><span class="pun">.</span><span class="pln">zero_grad</span><span class="pun">()</span><span class="pln">

        </span><span class="com"># انتشار أمامي + انتشار عكسي + تحسيّن</span><span class="pln">
        outputs </span><span class="pun">=</span><span class="pln"> net</span><span class="pun">(</span><span class="pln">inputs</span><span class="pun">)</span><span class="pln">
        loss </span><span class="pun">=</span><span class="pln"> criterion</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">,</span><span class="pln"> labels</span><span class="pun">[:,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">])</span><span class="pln">
        loss</span><span class="pun">.</span><span class="pln">backward</span><span class="pun">()</span><span class="pln">
        optimizer</span><span class="pun">.</span><span class="pln">step</span><span class="pun">()</span><span class="pln">

        </span><span class="com"># طباعة الإحصاءات</span><span class="pln">
        running_loss </span><span class="pun">+=</span><span class="pln"> loss</span><span class="pun">.</span><span class="pln">item</span><span class="pun">()</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> i </span><span class="pun">%</span><span class="pln"> </span><span class="lit">100</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
            </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'[%d, %5d] loss: %.6f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> </span><span class="pun">(</span><span class="pln">epoch</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> running_loss </span><span class="pun">/</span><span class="pln"> </span><span class="pun">(</span><span class="pln">i </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)))</span></pre>

<p>
	تُنفّذ هذا الشيفرة أيضًا عملية الانتشار الأمامي على الشبكة العصبية ثم تحسب قيمة الخسارة ثم تُنفّذ الانتشار العكسي وخطوة المُخسّن.
</p>

<p>
	في نهاية الملف، أضف ما يلي لاستدعاء الدالة الرئيسية <code>main</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_40" style=""><span class="kwd">if</span><span class="pln"> __name__ </span><span class="pun">==</span><span class="pln"> </span><span class="str">'__main__'</span><span class="pun">:</span><span class="pln">
    main</span><span class="pun">()</span></pre>

<p>
	تحقق جيدًا من تطابق ملفك مع ما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_42" style=""><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Dataset</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">autograd </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Variable</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn </span><span class="kwd">as</span><span class="pln"> nn
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn</span><span class="pun">.</span><span class="pln">functional </span><span class="kwd">as</span><span class="pln"> F
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">optim </span><span class="kwd">as</span><span class="pln"> optim
</span><span class="kwd">import</span><span class="pln"> torch

</span><span class="kwd">from</span><span class="pln"> step_2_dataset </span><span class="kwd">import</span><span class="pln"> get_train_test_loaders


</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">(</span><span class="pln">nn</span><span class="pun">.</span><span class="typ">Module</span><span class="pun">):</span><span class="pln">
    </span><span class="kwd">def</span><span class="pln"> __init__</span><span class="pun">(</span><span class="pln">self</span><span class="pun">):</span><span class="pln">
        super</span><span class="pun">(</span><span class="typ">Net</span><span class="pun">,</span><span class="pln"> self</span><span class="pun">).</span><span class="pln">__init__</span><span class="pun">()</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">conv1 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Conv2d</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">pool </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">MaxPool2d</span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">conv2 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Conv2d</span><span class="pun">(</span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">conv3 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Conv2d</span><span class="pun">(</span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">16</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">fc1 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Linear</span><span class="pun">(</span><span class="lit">16</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">5</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">5</span><span class="pun">,</span><span class="pln"> </span><span class="lit">120</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">fc2 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Linear</span><span class="pun">(</span><span class="lit">120</span><span class="pun">,</span><span class="pln"> </span><span class="lit">48</span><span class="pun">)</span><span class="pln">
        self</span><span class="pun">.</span><span class="pln">fc3 </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">Linear</span><span class="pun">(</span><span class="lit">48</span><span class="pun">,</span><span class="pln"> </span><span class="lit">25</span><span class="pun">)</span><span class="pln">

    </span><span class="kwd">def</span><span class="pln"> forward</span><span class="pun">(</span><span class="pln">self</span><span class="pun">,</span><span class="pln"> x</span><span class="pun">):</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">conv1</span><span class="pun">(</span><span class="pln">x</span><span class="pun">))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">pool</span><span class="pun">(</span><span class="pln">F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">conv2</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">pool</span><span class="pun">(</span><span class="pln">F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">conv3</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> x</span><span class="pun">.</span><span class="pln">view</span><span class="pun">(-</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">16</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">5</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">5</span><span class="pun">)</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">fc1</span><span class="pun">(</span><span class="pln">x</span><span class="pun">))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> F</span><span class="pun">.</span><span class="pln">relu</span><span class="pun">(</span><span class="pln">self</span><span class="pun">.</span><span class="pln">fc2</span><span class="pun">(</span><span class="pln">x</span><span class="pun">))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> self</span><span class="pun">.</span><span class="pln">fc3</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> x


</span><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    net </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">().</span><span class="pln">float</span><span class="pun">()</span><span class="pln">
    criterion </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">CrossEntropyLoss</span><span class="pun">()</span><span class="pln">
    optimizer </span><span class="pun">=</span><span class="pln"> optim</span><span class="pun">.</span><span class="pln">SGD</span><span class="pun">(</span><span class="pln">net</span><span class="pun">.</span><span class="pln">parameters</span><span class="pun">(),</span><span class="pln"> lr</span><span class="pun">=</span><span class="lit">0.01</span><span class="pun">,</span><span class="pln"> momentum</span><span class="pun">=</span><span class="lit">0.9</span><span class="pun">)</span><span class="pln">

    trainloader</span><span class="pun">,</span><span class="pln"> _ </span><span class="pun">=</span><span class="pln"> get_train_test_loaders</span><span class="pun">()</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> epoch </span><span class="kwd">in</span><span class="pln"> range</span><span class="pun">(</span><span class="lit">2</span><span class="pun">):</span><span class="pln">  </span><span class="com"># loop over the dataset multiple times</span><span class="pln">
        train</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> criterion</span><span class="pun">,</span><span class="pln"> optimizer</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">,</span><span class="pln"> epoch</span><span class="pun">)</span><span class="pln">
    torch</span><span class="pun">.</span><span class="pln">save</span><span class="pun">(</span><span class="pln">net</span><span class="pun">.</span><span class="pln">state_dict</span><span class="pun">(),</span><span class="pln"> </span><span class="str">"checkpoint.pth"</span><span class="pun">)</span><span class="pln">


</span><span class="kwd">def</span><span class="pln"> train</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> criterion</span><span class="pun">,</span><span class="pln"> optimizer</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">,</span><span class="pln"> epoch</span><span class="pun">):</span><span class="pln">
    running_loss </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.0</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> data </span><span class="kwd">in</span><span class="pln"> enumerate</span><span class="pun">(</span><span class="pln">trainloader</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">):</span><span class="pln">
        inputs </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Variable</span><span class="pun">(</span><span class="pln">data</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">].</span><span class="pln">float</span><span class="pun">())</span><span class="pln">
        labels </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Variable</span><span class="pun">(</span><span class="pln">data</span><span class="pun">[</span><span class="str">'label'</span><span class="pun">].</span><span class="pln">long</span><span class="pun">())</span><span class="pln">
        optimizer</span><span class="pun">.</span><span class="pln">zero_grad</span><span class="pun">()</span><span class="pln">

        </span><span class="com"># انتشار أمامي + انتشار عكسي + تحسيّن</span><span class="pln">
        outputs </span><span class="pun">=</span><span class="pln"> net</span><span class="pun">(</span><span class="pln">inputs</span><span class="pun">)</span><span class="pln">
        loss </span><span class="pun">=</span><span class="pln"> criterion</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">,</span><span class="pln"> labels</span><span class="pun">[:,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">])</span><span class="pln">
        loss</span><span class="pun">.</span><span class="pln">backward</span><span class="pun">()</span><span class="pln">
        optimizer</span><span class="pun">.</span><span class="pln">step</span><span class="pun">()</span><span class="pln">

        </span><span class="com"># طباعة الإحصاءات</span><span class="pln">
        running_loss </span><span class="pun">+=</span><span class="pln"> loss</span><span class="pun">.</span><span class="pln">item</span><span class="pun">()</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> i </span><span class="pun">%</span><span class="pln"> </span><span class="lit">100</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
            </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'[%d, %5d] loss: %.6f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> </span><span class="pun">(</span><span class="pln">epoch</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> running_loss </span><span class="pun">/</span><span class="pln"> </span><span class="pun">(</span><span class="pln">i </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)))</span><span class="pln">


</span><span class="kwd">if</span><span class="pln"> __name__ </span><span class="pun">==</span><span class="pln"> </span><span class="str">'__main__'</span><span class="pun">:</span><span class="pln">
    main</span><span class="pun">()</span></pre>

<p>
	احفظ الملف، ثم ابدأ تجربتك الأولية عن طريق تشغيل الأمر التالي ولاحظ الخرج الناتج:
</p>

<pre class="ipsCode">(signlanguage) $ python step_3_train.py

[0,     0] loss: 3.208171
[0,   100] loss: 3.211070
[0,   200] loss: 3.192235
[0,   300] loss: 2.943867
[0,   400] loss: 2.569440
[0,   500] loss: 2.243283
[0,   600] loss: 1.986425
[0,   700] loss: 1.768090
[0,   800] loss: 1.587308
[1,     0] loss: 0.254097
[1,   100] loss: 0.208116
[1,   200] loss: 0.196270
[1,   300] loss: 0.183676
[1,   400] loss: 0.169824
[1,   500] loss: 0.157704
[1,   600] loss: 0.151408
[1,   700] loss: 0.136470
[1,   800] loss: 0.123326
</pre>

<p>
	للحصول على قيم خسارة أقل، يمكنك زيادة عدد الدورات إلى 5 أو 10 أو حتى 20 دورة. ومع ذلك، بعد فترة معينة من التدريب، ستتوقف قيمة الخسارة في الشبكة عن الانخفاض حتى لو زدنا عدد الدورات (نكون قد علقنا في إحدى القيم الصغرى المحليّة). لتجنب هذه المشكلة، نحتاج إلى تخفيض قيمة مُعدّل التعلّم مع ازدياد عدد دورات التدريب. يمكننا إجراء ذلك من خلال جدولة قيم مُعدّل التعلّم، بحيث نُقلل من معدل التعلم بمرور الوقت.
</p>

<p>
	نُعدّل الدالة <code>main</code> بإضافة السطرين التاليين اللذين يتضمنان تعريف المجدول <code>scheduler</code> واستدعاء <code>scheduler.step</code>. إضافة إلى ذلك، ارفع<br>
	عدد الدورات إلى 12:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_8980_7" style=""><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    net </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">().</span><span class="pln">float</span><span class="pun">()</span><span class="pln">
    criterion </span><span class="pun">=</span><span class="pln"> nn</span><span class="pun">.</span><span class="typ">CrossEntropyLoss</span><span class="pun">()</span><span class="pln">
    optimizer </span><span class="pun">=</span><span class="pln"> optim</span><span class="pun">.</span><span class="pln">SGD</span><span class="pun">(</span><span class="pln">net</span><span class="pun">.</span><span class="pln">parameters</span><span class="pun">(),</span><span class="pln"> lr</span><span class="pun">=</span><span class="lit">0.01</span><span class="pun">,</span><span class="pln"> momentum</span><span class="pun">=</span><span class="lit">0.9</span><span class="pun">)</span><span class="pln">
    scheduler </span><span class="pun">=</span><span class="pln"> optim</span><span class="pun">.</span><span class="pln">lr_scheduler</span><span class="pun">.</span><span class="typ">StepLR</span><span class="pun">(</span><span class="pln">optimizer</span><span class="pun">,</span><span class="pln"> step_size</span><span class="pun">=</span><span class="lit">10</span><span class="pun">,</span><span class="pln"> gamma</span><span class="pun">=</span><span class="lit">0.1</span><span class="pun">)</span><span class="pln">

    trainloader</span><span class="pun">,</span><span class="pln"> _ </span><span class="pun">=</span><span class="pln"> get_train_test_loaders</span><span class="pun">()</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> epoch </span><span class="kwd">in</span><span class="pln"> range</span><span class="pun">(</span><span class="lit">12</span><span class="pun">):</span><span class="pln">  </span><span class="com"># loop over the dataset multiple times</span><span class="pln">
        train</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> criterion</span><span class="pun">,</span><span class="pln"> optimizer</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">,</span><span class="pln"> epoch</span><span class="pun">)</span><span class="pln">
        scheduler</span><span class="pun">.</span><span class="pln">step</span><span class="pun">()</span><span class="pln">
    torch</span><span class="pun">.</span><span class="pln">save</span><span class="pun">(</span><span class="pln">net</span><span class="pun">.</span><span class="pln">state_dict</span><span class="pun">(),</span><span class="pln"> </span><span class="str">"checkpoint.pth"</span><span class="pun">)</span></pre>

<p>
	تأكد من تطابق ملفك مع ملف الخطوة 3 الموجود في هذا <a href="https://github.com/do-community/sign-language-translator/blob/master/src/step_3_train.py" rel="external nofollow">المستودع</a>. يستمر التدريب لمدة 5 دقائق تقريبًا. سيشبه الخرج الخاص بك ما يلي:
</p>

<pre class="ipsCode">[0,     0] loss: 3.208171
[0,   100] loss: 3.211070
[0,   200] loss: 3.192235
[0,   300] loss: 2.943867
[0,   400] loss: 2.569440
[0,   500] loss: 2.243283
[0,   600] loss: 1.986425
[0,   700] loss: 1.768090
[0,   800] loss: 1.587308
...
[11,     0] loss: 0.000302
[11,   100] loss: 0.007548
[11,   200] loss: 0.009005
[11,   300] loss: 0.008193
[11,   400] loss: 0.007694
[11,   500] loss: 0.008509
[11,   600] loss: 0.008039
[11,   700] loss: 0.007524
[11,   800] loss: 0.007608
</pre>

<p>
	الخسارة النهائية التي حصلنا عليها هي 0.007608، وهي أصغر بثلاث مرات من قيمة الخسارة في أول دورة تدريبية 3.20. نختم بهذا الخطوة الثانية من سير العمل لدينا، حيث بنينا الشبكة العصبية ودرّبناها.
</p>

<p>
	رغم أن قيمة الخسارة هذه صغيرة، إلا أنها قد لاتعطينا نظرة ثاقبة عن أداء النموذج. لذا سنحسب دقة Accuracy النموذج، وهي النسبة المئوية للصور التي صنفها النموذج بطريقة صحيحة.
</p>

<h2 id="4">
	الخطوة 4 -تقييم مصنف لغة الإشارة
</h2>

<p>
	نُقيّم الآن مصنف لغة الإشارة عن طريق حساب دقته على مجموعة التحقق، وهي مجموعة من الصور لم يراها النموذج أثناء التدريب، أي أنه لايعرفها. سيوفر هذا إحساسًا أفضل بأداء النموذج مقارنةً بقيمة الخسارة النهائية وحدها. علاوة على ذلك، سنضيف أدوات مساعدة لحفظ نموذجنا المُدرّب في نهاية التدريب وتحميل نموذجنا المدرّب مسبقًا عند إجراء الاستدلال.
</p>

<p>
	أنشئ ملفًا جديد يسمى <code>step_4_evaluate.py</code>:
</p>

<pre class="ipsCode">(signlanguage) $ nano step_4_evaluate.py
</pre>

<p>
	استيراد الأدوات التي تحتاجها:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_45" style=""><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Dataset</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">autograd </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Variable</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn </span><span class="kwd">as</span><span class="pln"> nn
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn</span><span class="pun">.</span><span class="pln">functional </span><span class="kwd">as</span><span class="pln"> F
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">optim </span><span class="kwd">as</span><span class="pln"> optim
</span><span class="kwd">import</span><span class="pln"> torch
</span><span class="kwd">import</span><span class="pln"> numpy </span><span class="kwd">as</span><span class="pln"> np

</span><span class="kwd">import</span><span class="pln"> onnx
</span><span class="kwd">import</span><span class="pln"> onnxruntime </span><span class="kwd">as</span><span class="pln"> ort

</span><span class="kwd">from</span><span class="pln"> step_2_dataset </span><span class="kwd">import</span><span class="pln"> get_train_test_loaders
</span><span class="kwd">from</span><span class="pln"> step_3_train </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Net</span></pre>

<p>
	عرّف بعد ذلك أداةً مساعدةً لتقييم أداء الشبكة العصبية. تُجري الدالة التالية مقارنةً بين الحرف المتوقع من قبل الشبكة العصبية والحرف الحقيقي لصورة واحدة مُمثّلًا بقيمته الأصلية (أي 1،2،3 … ) وليس بترميز الواحد النشط.
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_47" style=""><span class="kwd">def</span><span class="pln"> evaluate</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Variable</span><span class="pun">,</span><span class="pln"> labels</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Variable</span><span class="pun">)</span><span class="pln"> </span><span class="pun">-&gt;</span><span class="pln"> float</span><span class="pun">:</span><span class="pln">
    </span><span class="str">"""تقييم جودة توقعات النموذج، مقارنةً بالتسميات الصحيحة"""</span><span class="pln">
    Y </span><span class="pun">=</span><span class="pln"> labels</span><span class="pun">.</span><span class="pln">numpy</span><span class="pun">()</span><span class="pln">
    </span><span class="typ">Yhat</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">argmax</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">,</span><span class="pln"> axis</span><span class="pun">=</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> float</span><span class="pun">(</span><span class="pln">np</span><span class="pun">.</span><span class="pln">sum</span><span class="pun">(</span><span class="typ">Yhat</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> Y</span><span class="pun">))</span></pre>

<p>
	المتغير <code>outputs</code> عبارة عن قائمة باحتمالات الصنف لكل عينة. على سبيل المثال، قد تكون مخرجات عينة واحدة هي <code>[0.1، 0.3، 0.4، 0.2]</code>. المتغير <code>labels</code> عبارة عن قائمة تحمل التسميات المقابلة للعينات. على سبيل المثال، قد تكون التسمية من أجل عينة واحدة هي 3.
</p>

<p>
	يحوّل السطر <code>()Y = labels.numpy</code> التسميات إلى مصفوفة نمباي. بينما يحوّل السطر الذي يليه مباشرةً القيم الاحتمالية من أجل كل عينة إلى قيمة عددية واحدة تقابل فهرس أكبر قيمة احتمالية من أجل تلك العينة. على سبيل المثال، إذا كانت قائمة الاحتمالات من أجل عينة واحدة هي <code>[0.1، 0.3، 0.4، 0.2]</code> فإنها يحولها إلى القيمة 2، لأن قيمة الفهرس 2 البالغة 0.4 هي أكبر قيمة.
</p>

<p>
	نظرًا لأن كلا من <code>Y</code> و <code>Yhat</code> أصبحا الآن يشيران إلى صنفين، فيمكنك مقارنتهما. يتحقق <code>Yhat == Y</code> مما إذا كانت التسمية المتوقعة تُطابق التسمية الصحيحة، ويعيد قائمة كل عنصر فيها إما <code>True</code> أو <code>False</code> من أجل كل عينة. أخيرًا <code>((float(np.sum(Yhat == Y</code> تحسب عدد حالات التطابق بين <code>Y</code> و <code>Yhat</code> (أي كم مرة حصلنا على <code>True</code>).
</p>

<p>
	أضف الدالة الثانية <code>batch_evaluate</code>، والتي تُطبّق الدالة <code>evaluate</code> على جميع الصور:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_49" style=""><span class="kwd">def</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">
        net</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">,</span><span class="pln">
        dataloader</span><span class="pun">:</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="typ">DataLoader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">-&gt;</span><span class="pln"> float</span><span class="pun">:</span><span class="pln">
    </span><span class="str">"""تقييم الشبكة العصبية على دفعات، إذا كانت مجموعة البيانات كبيرة جدًا"""</span><span class="pln">
    score </span><span class="pun">=</span><span class="pln"> n </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.0</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> batch </span><span class="kwd">in</span><span class="pln"> dataloader</span><span class="pun">:</span><span class="pln">
        n </span><span class="pun">+=</span><span class="pln"> len</span><span class="pun">(</span><span class="pln">batch</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">])</span><span class="pln">
        outputs </span><span class="pun">=</span><span class="pln"> net</span><span class="pun">(</span><span class="pln">batch</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">])</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> isinstance</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">,</span><span class="pln"> torch</span><span class="pun">.</span><span class="typ">Tensor</span><span class="pun">):</span><span class="pln">
            outputs </span><span class="pun">=</span><span class="pln"> outputs</span><span class="pun">.</span><span class="pln">detach</span><span class="pun">().</span><span class="pln">numpy</span><span class="pun">()</span><span class="pln">
        score </span><span class="pun">+=</span><span class="pln"> evaluate</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">,</span><span class="pln"> batch</span><span class="pun">[</span><span class="str">'label'</span><span class="pun">][:,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">])</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> score </span><span class="pun">/</span><span class="pln"> n</span></pre>

<p>
	الدفعة <code>batch</code> عبارة عن مجموعة من الصور المخزنة كموتر واحد. أولاً، نزيد إجمالي عدد الصور التي نُقيّمها <code>n</code> بعدد الصور في هذه الدفعة من خلال التعليمة<br>
	<code>([n += len(batch['image.</code> ثم نُنفّذ عملية الاستدلال على الشبكة العصبية باستخدام مجموعة من الصور. ونُجري عملية التحقق من النوع بالتعليمة<br>
	<code>(if isinstance(outputs; torch.Tensor</code>  فإذا كان نوع <code>outputs</code> هو <code>torch.Tensor</code> نحول <code>outputs</code> إلى مصفوفة نمباي.<br>
	أخيرًا، يمكنك استخدام <code>evaluate</code> لحساب عدد العينات المُصنّفة بطريقة صحيحة، وفي ختام الدالة يمكنك حساب النسبة المئوية للعينات التي صنفتها بطريقة صحيحة من خلال التعليمة <code>evaluate</code>.
</p>

<p>
	أخيرًا، أضف البرنامج التالي للاستفادة من الأدوات المساعدة السابقة:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_51" style=""><span class="kwd">def</span><span class="pln"> validate</span><span class="pun">():</span><span class="pln">
    trainloader</span><span class="pun">,</span><span class="pln"> testloader </span><span class="pun">=</span><span class="pln"> get_train_test_loaders</span><span class="pun">()</span><span class="pln">
    net </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">().</span><span class="pln">float</span><span class="pun">()</span><span class="pln">

    pretrained_model </span><span class="pun">=</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">load</span><span class="pun">(</span><span class="str">"checkpoint.pth"</span><span class="pun">)</span><span class="pln">
    net</span><span class="pun">.</span><span class="pln">load_state_dict</span><span class="pun">(</span><span class="pln">pretrained_model</span><span class="pun">)</span><span class="pln">

    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'='</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="str">'PyTorch'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'='</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">10</span><span class="pun">)</span><span class="pln">
    train_acc </span><span class="pun">=</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">100.</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Training accuracy: %.1f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> train_acc</span><span class="pun">)</span><span class="pln">
    test_acc </span><span class="pun">=</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> testloader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">100.</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Validation accuracy: %.1f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> test_acc</span><span class="pun">)</span><span class="pln">


</span><span class="kwd">if</span><span class="pln"> __name__ </span><span class="pun">==</span><span class="pln"> </span><span class="str">'__main__'</span><span class="pun">:</span><span class="pln">
    validate</span><span class="pun">()</span></pre>

<p>
	من خلال هذه الشيفرة، تجري عمليّة تحميل الشبكة العصبية المُدرّبة مسبقًا وتقييم أدائها على مجموعة بيانات لغة الإشارة المتوفرة. على وجه التحديد، يطبع البرنامج دقة النموذج في توقع أصناف الصور التي المُستخدمة للتدريب، كما أنه يطبع دقة النموذج في توقع أصناف الصور التي لم يجري استخدامها أثناء عملية التدريب، وهي مجموعة منفصلة من الصور التي تضعها جانبًا لأغراض الاختبار، وتسمى مجموعة التحقق.
</p>

<p>
	نُصدّر بعد ذلك نموذج بايتورش إلى ملف ONNX ثنائي. يمكن بعد ذلك استخدام هذا الملف الثنائي في الإنتاج لتنفيذ عمليات الاستدلال مع النموذج الخاص بك. والأهم من ذلك، أن الشيفرة التي تُشغّل هذا الثنائي لا تحتاج إلى نسخة من تعريف الشبكة الأصلي. في نهاية دالة <code>validate</code>، أضف ما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_53" style=""><span class="pln">trainloader</span><span class="pun">,</span><span class="pln"> testloader </span><span class="pun">=</span><span class="pln"> get_train_test_loaders</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln">

    </span><span class="com"># export to onnx</span><span class="pln">
    fname </span><span class="pun">=</span><span class="pln"> </span><span class="str">"signlanguage.onnx"</span><span class="pln">
    dummy </span><span class="pun">=</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">randn</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">)</span><span class="pln">
    torch</span><span class="pun">.</span><span class="pln">onnx</span><span class="pun">.</span><span class="pln">export</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> dummy</span><span class="pun">,</span><span class="pln"> fname</span><span class="pun">,</span><span class="pln"> input_names</span><span class="pun">=[</span><span class="str">'input'</span><span class="pun">])</span><span class="pln">

    </span><span class="com"># check exported model</span><span class="pln">
    model </span><span class="pun">=</span><span class="pln"> onnx</span><span class="pun">.</span><span class="pln">load</span><span class="pun">(</span><span class="pln">fname</span><span class="pun">)</span><span class="pln">
    onnx</span><span class="pun">.</span><span class="pln">checker</span><span class="pun">.</span><span class="pln">check_model</span><span class="pun">(</span><span class="pln">model</span><span class="pun">)</span><span class="pln">  </span><span class="com"># check model is well-formed</span><span class="pln">

    </span><span class="com"># create runnable session with exported model</span><span class="pln">
    ort_session </span><span class="pun">=</span><span class="pln"> ort</span><span class="pun">.</span><span class="typ">InferenceSession</span><span class="pun">(</span><span class="pln">fname</span><span class="pun">)</span><span class="pln">
    net </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">lambda</span><span class="pln"> inp</span><span class="pun">:</span><span class="pln"> ort_session</span><span class="pun">.</span><span class="pln">run</span><span class="pun">(</span><span class="kwd">None</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="str">'input'</span><span class="pun">:</span><span class="pln"> inp</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">numpy</span><span class="pun">()})[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">

    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'='</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="str">'ONNX'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'='</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">10</span><span class="pun">)</span><span class="pln">
    train_acc </span><span class="pun">=</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">100.</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Training accuracy: %.1f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> train_acc</span><span class="pun">)</span><span class="pln">
    test_acc </span><span class="pun">=</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> testloader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">100.</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Validation accuracy: %.1f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> test_acc</span><span class="pun">)</span></pre>

<p>
	يؤدي هذا إلى تصدير نموذج ONNX والتحقق من النموذج الذي جرى تصديره، ثم تشغيل الاستدلال على النموذج الذي صُدّر. تحقق جيدًا من تطابق ملفك مع ملف الخطوة 4 الموجود في هذا <a href="https://github.com/do-community/sign-language-translator/blob/master/src/step_4_evaluate.py" rel="external nofollow">المستودع</a>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_55" style=""><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Dataset</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">autograd </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Variable</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn </span><span class="kwd">as</span><span class="pln"> nn
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">nn</span><span class="pun">.</span><span class="pln">functional </span><span class="kwd">as</span><span class="pln"> F
</span><span class="kwd">import</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">optim </span><span class="kwd">as</span><span class="pln"> optim
</span><span class="kwd">import</span><span class="pln"> torch
</span><span class="kwd">import</span><span class="pln"> numpy </span><span class="kwd">as</span><span class="pln"> np

</span><span class="kwd">import</span><span class="pln"> onnx
</span><span class="kwd">import</span><span class="pln"> onnxruntime </span><span class="kwd">as</span><span class="pln"> ort

</span><span class="kwd">from</span><span class="pln"> step_2_dataset </span><span class="kwd">import</span><span class="pln"> get_train_test_loaders
</span><span class="kwd">from</span><span class="pln"> step_3_train </span><span class="kwd">import</span><span class="pln"> </span><span class="typ">Net</span><span class="pln">


</span><span class="kwd">def</span><span class="pln"> evaluate</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Variable</span><span class="pun">,</span><span class="pln"> labels</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Variable</span><span class="pun">)</span><span class="pln"> </span><span class="pun">-&gt;</span><span class="pln"> float</span><span class="pun">:</span><span class="pln">
    </span><span class="str">"""تقييم جودة توقعات النموذج، مقارنةً بالتسميات الصحيحة"""</span><span class="pln">
    Y </span><span class="pun">=</span><span class="pln"> labels</span><span class="pun">.</span><span class="pln">numpy</span><span class="pun">()</span><span class="pln">
    </span><span class="typ">Yhat</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">argmax</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">,</span><span class="pln"> axis</span><span class="pun">=</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> float</span><span class="pun">(</span><span class="pln">np</span><span class="pun">.</span><span class="pln">sum</span><span class="pun">(</span><span class="typ">Yhat</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> Y</span><span class="pun">))</span><span class="pln">


</span><span class="kwd">def</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">
        net</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">,</span><span class="pln">
        dataloader</span><span class="pun">:</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">utils</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="typ">DataLoader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">-&gt;</span><span class="pln"> float</span><span class="pun">:</span><span class="pln">
    </span><span class="str">"""تقييم الشبكة العصبية على دفعات، إذا كانت مجموعة البيانات كبيرة جدًا"""</span><span class="pln">
    score </span><span class="pun">=</span><span class="pln"> n </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.0</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> batch </span><span class="kwd">in</span><span class="pln"> dataloader</span><span class="pun">:</span><span class="pln">
        n </span><span class="pun">+=</span><span class="pln"> len</span><span class="pun">(</span><span class="pln">batch</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">])</span><span class="pln">
        outputs </span><span class="pun">=</span><span class="pln"> net</span><span class="pun">(</span><span class="pln">batch</span><span class="pun">[</span><span class="str">'image'</span><span class="pun">])</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> isinstance</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">,</span><span class="pln"> torch</span><span class="pun">.</span><span class="typ">Tensor</span><span class="pun">):</span><span class="pln">
            outputs </span><span class="pun">=</span><span class="pln"> outputs</span><span class="pun">.</span><span class="pln">detach</span><span class="pun">().</span><span class="pln">numpy</span><span class="pun">()</span><span class="pln">
        score </span><span class="pun">+=</span><span class="pln"> evaluate</span><span class="pun">(</span><span class="pln">outputs</span><span class="pun">,</span><span class="pln"> batch</span><span class="pun">[</span><span class="str">'label'</span><span class="pun">][:,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">])</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> score </span><span class="pun">/</span><span class="pln"> n


</span><span class="kwd">def</span><span class="pln"> validate</span><span class="pun">():</span><span class="pln">
    trainloader</span><span class="pun">,</span><span class="pln"> testloader </span><span class="pun">=</span><span class="pln"> get_train_test_loaders</span><span class="pun">()</span><span class="pln">
    net </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Net</span><span class="pun">().</span><span class="pln">float</span><span class="pun">().</span><span class="pln">eval</span><span class="pun">()</span><span class="pln">

    pretrained_model </span><span class="pun">=</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">load</span><span class="pun">(</span><span class="str">"checkpoint.pth"</span><span class="pun">)</span><span class="pln">
    net</span><span class="pun">.</span><span class="pln">load_state_dict</span><span class="pun">(</span><span class="pln">pretrained_model</span><span class="pun">)</span><span class="pln">

    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'='</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="str">'PyTorch'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'='</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">10</span><span class="pun">)</span><span class="pln">
    train_acc </span><span class="pun">=</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">100.</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Training accuracy: %.1f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> train_acc</span><span class="pun">)</span><span class="pln">
    test_acc </span><span class="pun">=</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> testloader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">100.</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Validation accuracy: %.1f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> test_acc</span><span class="pun">)</span><span class="pln">

    trainloader</span><span class="pun">,</span><span class="pln"> testloader </span><span class="pun">=</span><span class="pln"> get_train_test_loaders</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln">

    </span><span class="com"># export to onnx</span><span class="pln">
    fname </span><span class="pun">=</span><span class="pln"> </span><span class="str">"signlanguage.onnx"</span><span class="pln">
    dummy </span><span class="pun">=</span><span class="pln"> torch</span><span class="pun">.</span><span class="pln">randn</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">)</span><span class="pln">
    torch</span><span class="pun">.</span><span class="pln">onnx</span><span class="pun">.</span><span class="pln">export</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> dummy</span><span class="pun">,</span><span class="pln"> fname</span><span class="pun">,</span><span class="pln"> input_names</span><span class="pun">=[</span><span class="str">'input'</span><span class="pun">])</span><span class="pln">

    </span><span class="com"># check exported model</span><span class="pln">
    model </span><span class="pun">=</span><span class="pln"> onnx</span><span class="pun">.</span><span class="pln">load</span><span class="pun">(</span><span class="pln">fname</span><span class="pun">)</span><span class="pln">
    onnx</span><span class="pun">.</span><span class="pln">checker</span><span class="pun">.</span><span class="pln">check_model</span><span class="pun">(</span><span class="pln">model</span><span class="pun">)</span><span class="pln">  </span><span class="com"># check model is well-formed</span><span class="pln">

    </span><span class="com"># create runnable session with exported model</span><span class="pln">
    ort_session </span><span class="pun">=</span><span class="pln"> ort</span><span class="pun">.</span><span class="typ">InferenceSession</span><span class="pun">(</span><span class="pln">fname</span><span class="pun">)</span><span class="pln">
    net </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">lambda</span><span class="pln"> inp</span><span class="pun">:</span><span class="pln"> ort_session</span><span class="pun">.</span><span class="pln">run</span><span class="pun">(</span><span class="kwd">None</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="str">'input'</span><span class="pun">:</span><span class="pln"> inp</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">numpy</span><span class="pun">()})[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">

    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'='</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="str">'ONNX'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'='</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">10</span><span class="pun">)</span><span class="pln">
    train_acc </span><span class="pun">=</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> trainloader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">100.</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Training accuracy: %.1f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> train_acc</span><span class="pun">)</span><span class="pln">
    test_acc </span><span class="pun">=</span><span class="pln"> batch_evaluate</span><span class="pun">(</span><span class="pln">net</span><span class="pun">,</span><span class="pln"> testloader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">100.</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Validation accuracy: %.1f'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> test_acc</span><span class="pun">)</span><span class="pln">


</span><span class="kwd">if</span><span class="pln"> __name__ </span><span class="pun">==</span><span class="pln"> </span><span class="str">'__main__'</span><span class="pun">:</span><span class="pln">
    validate</span><span class="pun">()</span></pre>

<p>
	لاستخدام نقطة التحقق checkpoint من الخطوة الأخيرة وتقييمها، شغّل ما يلي:
</p>

<pre class="ipsCode">(signlanguage) $ python step_4_evaluate.py
</pre>

<p>
	سيؤدي هذا إلى الحصول على مخرجات مشابهة لما يلي، مما يؤكد أن النموذج الذي صدرته لا يعمل فحسب، بل يتوافق أيضًا مع نموذج بايتورش الأصلي الخاص<br>
	بك أيضًا:
</p>

<pre class="ipsCode">========== PyTorch ==========
Training accuracy: 99.9
Validation accuracy: 97.4
========== ONNX ==========
Training accuracy: 99.9
Validation accuracy: 97.4
</pre>

<p>
	حققت شبكتك العصبية دقة تصل إلى 99.9% على بيانات التدريب ودقة تبلغ 97.4% على بيانات التحقق. تُشير هذه الفجوة بين دقة التدريب والتحقق إلى أن النموذج الخاص بك أفرط في ضبط قيم معلماته على بيانات التدريب، وهذا ماندعوه بالضبط الزائد أو الإفراط في المُلائمة Overfitting. هذا يعني أنه بدلاً من تعلم الأنماط التي يمكن تعميمها على جميع الصور (بما في ذلك صور العالم الحقيقي) ، فإن النموذج الخاص بك تعلّم أنماطًا خاصة للغاية ببيانات التدريب، أي وكأنه حفظ البيانات ولم يفهمها (حافظ مش فاهم).
</p>

<p>
	في هذه المرحلة، أكملنا بناء مُصنّف لغة الإشارة. يمكن لنموذجنا أن يُميّز الإشارات بطريقة صحيحة طوال الوقت تقريبًا. هذا نموذج جيد إلى حد معقول، لذلك ننتقل إلى المرحلة النهائية من تطبيقنا. سوف نستخدم مصنف لغة الإشارة هذا في تطبيق كاميرا الويب في الزمن الحقيقي.
</p>

<h2 id="5">
	الخطوة 5 -الربط مع الكاميرا
</h2>

<p>
	هدفك التالي هو ربط كاميرا الحاسوب بمصنف لغة الإشارة الخاص بك. يتضمن ذلك التقاط المُدخلات من الكاميرا ثم تصنيف لغة الإشارة المعروضة ثم عرض معنى الإشارة للمستخدم.
</p>

<p>
	أنشئ الآن برنامجًا بلغة <a href="https://academy.hsoub.com/python/" rel="">بايثون</a> لاكتشاف الوجه. أنشئ الملف <code>step_6_camera.py</code> باستخدام المحرر nano أو محرر النصوص المفضل لديك:
</p>

<pre class="ipsCode">(signlanguage) $ nano step_5_camera.py
</pre>

<p>
	أضف الشيفرة التالية إليه:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_58" style=""><span class="str">"""اختبار تصنيف لغة الإشارة"""</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> cv2
</span><span class="kwd">import</span><span class="pln"> numpy </span><span class="kwd">as</span><span class="pln"> np
</span><span class="kwd">import</span><span class="pln"> onnxruntime </span><span class="kwd">as</span><span class="pln"> ort

</span><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    </span><span class="kwd">pass</span><span class="pln">

</span><span class="kwd">if</span><span class="pln"> __name__ </span><span class="pun">==</span><span class="pln"> </span><span class="str">'__main__'</span><span class="pun">:</span><span class="pln">
    main</span><span class="pun">()</span></pre>

<p>
	تستورد هذا الشيفرة مكتبة OpenCV المُشار إليها بالاسم <code>cv2</code>. تحتوي هذه المكتبة على العديد من الأدوات اللازمة لمعالجة الصور. تستورد أيضًا <code>onnxruntime</code> وهي كل ما تحتاجه لتشغيل الاستدلال على النموذج الخاص بك. ما تبقى من التعليمات البرمجية هو البنية المبدأية لبرنامج بايثون الذي سنكتبه.
</p>

<p>
	الآن استبدل <code>pass</code> في الدالة <code>main</code> بالشيفرة التالية، التي تُهيئ مُصنف لغة الإشارة بالمعلمات التي دربنا النموذج معها مسبقًا. أربط أيضًا الفهارس بالحروف وحدد الإحصائيات المتعلقة بالمعالجة المسبقة للصور:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_60" style=""><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    </span><span class="com"># الثوابت</span><span class="pln">
    index_to_letter </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="str">'ABCDEFGHIKLMNOPQRSTUVWXY'</span><span class="pun">)</span><span class="pln">
    mean </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.485</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">255.</span><span class="pln">
    std </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.229</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">255.</span><span class="pln">

    </span><span class="com"># إنشاء جلسة قابلة للتشغيل باستخدام النموذج المُصدَّر</span><span class="pln">
    ort_session </span><span class="pun">=</span><span class="pln"> ort</span><span class="pun">.</span><span class="typ">InferenceSession</span><span class="pun">(</span><span class="str">"signlanguage.onnx"</span><span class="pun">)</span></pre>

<p>
	ستستخدم عناصر من <a href="https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_video_display/py_video_display.html#capture-video-from-camera" rel="external nofollow">برنامج اختبار</a> موجودة في وثائق OpenCV الرسمية، بالتالي ستحتاج إلى تحديث شيفرة الدالة <code>main</code>. ابدأ بتهيئة كائن <code>VideoCapture</code> الذي يلتقط البث المباشر من كاميرا حاسوبك. ضع ذلك في نهاية الدالة <code>main</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_62" style=""><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    </span><span class="pun">...</span><span class="pln">
    </span><span class="com"># إنشاء جلسة قابلة للتشغيل باستخدام النموذج المُصدَّر</span><span class="pln">
    ort_session </span><span class="pun">=</span><span class="pln"> ort</span><span class="pun">.</span><span class="typ">InferenceSession</span><span class="pun">(</span><span class="str">"signlanguage.onnx"</span><span class="pun">)</span><span class="pln">

    cap </span><span class="pun">=</span><span class="pln"> cv2</span><span class="pun">.</span><span class="typ">VideoCapture</span><span class="pun">(</span><span class="lit">0</span><span class="pun">)</span></pre>

<p>
	ثم أضف حلقة <code>while</code> لتقرأ من الكاميرا في كل خطوة زمنية:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_64" style=""><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    </span><span class="pun">...</span><span class="pln">
    cap </span><span class="pun">=</span><span class="pln"> cv2</span><span class="pun">.</span><span class="typ">VideoCapture</span><span class="pun">(</span><span class="lit">0</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">:</span><span class="pln">
        </span><span class="com"># التقط إطارًا بإطار</span><span class="pln">
        ret</span><span class="pun">,</span><span class="pln"> frame </span><span class="pun">=</span><span class="pln"> cap</span><span class="pun">.</span><span class="pln">read</span><span class="pun">()</span></pre>

<p>
	اكتب دالة مساعدة للاحتفاظ بالمنطقة الوسطى فقط مع التخلص من المناطق المحيطة من إطار الكاميرا. ضع هذه الدالة قبل الدالة <code>main</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_66" style=""><span class="kwd">def</span><span class="pln"> center_crop</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">):</span><span class="pln">
    h</span><span class="pun">,</span><span class="pln"> w</span><span class="pun">,</span><span class="pln"> _ </span><span class="pun">=</span><span class="pln"> frame</span><span class="pun">.</span><span class="pln">shape
    start </span><span class="pun">=</span><span class="pln"> abs</span><span class="pun">(</span><span class="pln">h </span><span class="pun">-</span><span class="pln"> w</span><span class="pun">)</span><span class="pln"> </span><span class="pun">//</span><span class="pln"> </span><span class="lit">2</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> h </span><span class="pun">&gt;</span><span class="pln"> w</span><span class="pun">:</span><span class="pln">
        frame </span><span class="pun">=</span><span class="pln"> frame</span><span class="pun">[</span><span class="pln">start</span><span class="pun">:</span><span class="pln"> start </span><span class="pun">+</span><span class="pln"> w</span><span class="pun">]</span><span class="pln">
    </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
        frame </span><span class="pun">=</span><span class="pln"> frame</span><span class="pun">[:,</span><span class="pln"> start</span><span class="pun">:</span><span class="pln"> start </span><span class="pun">+</span><span class="pln"> h</span><span class="pun">]</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> frame</span></pre>

<p>
	خذ الآن المنطقة الوسطى لإطار الكاميرا، وحوّلها إلى صورة رماديّة grayscale وطبق عمليّة تقييس عليها وعدّل حجمها إلى 28 × 28. ضع هذا داخل الحلقة <code>while</code> داخل <code>main</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_68" style=""><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    </span><span class="pun">...</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">:</span><span class="pln">
        </span><span class="com"># التقط إطارًا بإطار</span><span class="pln">
        ret</span><span class="pun">,</span><span class="pln"> frame </span><span class="pun">=</span><span class="pln"> cap</span><span class="pun">.</span><span class="pln">read</span><span class="pun">()</span><span class="pln">

        </span><span class="com"># معالجة البيانات</span><span class="pln">
        frame </span><span class="pun">=</span><span class="pln"> center_crop</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">)</span><span class="pln">
        frame </span><span class="pun">=</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">cvtColor</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">,</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">COLOR_RGB2GRAY</span><span class="pun">)</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">resize</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">frame </span><span class="pun">-</span><span class="pln"> mean</span><span class="pun">)</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> std</span></pre>

<p>
	مازلنا ضمن حلقة <code>while</code> شغّل الاستدلال الآن باستخدام <code>onnxruntime</code>. وحوّل المخرجات إلى فهرس صنف، ثم إلى حرف:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_70" style=""><span class="pun">...</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">frame </span><span class="pun">-</span><span class="pln"> mean</span><span class="pun">)</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> std

        x </span><span class="pun">=</span><span class="pln"> x</span><span class="pun">.</span><span class="pln">reshape</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">).</span><span class="pln">astype</span><span class="pun">(</span><span class="pln">np</span><span class="pun">.</span><span class="pln">float32</span><span class="pun">)</span><span class="pln">
        y </span><span class="pun">=</span><span class="pln"> ort_session</span><span class="pun">.</span><span class="pln">run</span><span class="pun">(</span><span class="kwd">None</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="str">'input'</span><span class="pun">:</span><span class="pln"> x</span><span class="pun">})[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">

        index </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">argmax</span><span class="pun">(</span><span class="pln">y</span><span class="pun">,</span><span class="pln"> axis</span><span class="pun">=</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
        letter </span><span class="pun">=</span><span class="pln"> index_to_letter</span><span class="pun">[</span><span class="pln">int</span><span class="pun">(</span><span class="pln">index</span><span class="pun">)]</span></pre>

<p>
	اعرض الحرف المتوقع داخل الإطار، ثم اعرض الإطار مرة أخرى للمستخدم:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_72" style=""><span class="pun">...</span><span class="pln">
        letter </span><span class="pun">=</span><span class="pln"> index_to_letter</span><span class="pun">[</span><span class="pln">int</span><span class="pun">(</span><span class="pln">index</span><span class="pun">)]</span><span class="pln">

        cv2</span><span class="pun">.</span><span class="pln">putText</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">,</span><span class="pln"> letter</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="lit">100</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100</span><span class="pun">),</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">FONT_HERSHEY_SIMPLEX</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2.0</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">255</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">),</span><span class="pln"> thickness</span><span class="pun">=</span><span class="lit">2</span><span class="pun">)</span><span class="pln">
        cv2</span><span class="pun">.</span><span class="pln">imshow</span><span class="pun">(</span><span class="str">"Sign Language Translator"</span><span class="pun">,</span><span class="pln"> frame</span><span class="pun">)</span></pre>

<p>
	في نهاية الحلقة، أضف هذه الشيفرة للتحقق مما إذا كان المستخدم قد وصل إلى الحرف q، وإذا كان الأمر كذلك، نُغلق التطبيق. نستخدم <code>cv2.waitKey</code> من أجل الانتظار لمدة 1 مللي ثانية. أضف ما يلي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_76" style=""><span class="pun">...</span><span class="pln">
        cv2</span><span class="pun">.</span><span class="pln">imshow</span><span class="pun">(</span><span class="str">"Sign Language Translator"</span><span class="pun">,</span><span class="pln"> frame</span><span class="pun">)</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">waitKey</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;</span><span class="pln"> </span><span class="lit">0xFF</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> ord</span><span class="pun">(</span><span class="str">'q'</span><span class="pun">):</span><span class="pln">
            </span><span class="kwd">break</span></pre>

<p>
	أخيرًا، حرّر الكاميرا وأغلق جميع النوافذ. وضع هذا الكود خارج الحلقة <code>while</code> لإنهاء <code>main</code>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_78" style=""><span class="pun">...</span><span class="pln">

    </span><span class="kwd">while</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">:</span><span class="pln">
        </span><span class="pun">...</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">waitKey</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;</span><span class="pln"> </span><span class="lit">0xFF</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> ord</span><span class="pun">(</span><span class="str">'q'</span><span class="pun">):</span><span class="pln">
            </span><span class="kwd">break</span><span class="pln">


    cap</span><span class="pun">.</span><span class="pln">release</span><span class="pun">()</span><span class="pln">
    cv2</span><span class="pun">.</span><span class="pln">destroyAllWindows</span><span class="pun">()</span></pre>

<p>
	تحقق جيدًا من تطابق ملفك مع الشيفرة التالية أو هذا <a href="https://github.com/do-community/sign-language-translator/blob/master/src/step_5_camera.py" rel="external nofollow">المستودع</a>:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1478_80" style=""><span class="kwd">import</span><span class="pln"> cv2
</span><span class="kwd">import</span><span class="pln"> numpy </span><span class="kwd">as</span><span class="pln"> np
</span><span class="kwd">import</span><span class="pln"> onnxruntime </span><span class="kwd">as</span><span class="pln"> ort


</span><span class="kwd">def</span><span class="pln"> center_crop</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">):</span><span class="pln">
    h</span><span class="pun">,</span><span class="pln"> w</span><span class="pun">,</span><span class="pln"> _ </span><span class="pun">=</span><span class="pln"> frame</span><span class="pun">.</span><span class="pln">shape
    start </span><span class="pun">=</span><span class="pln"> abs</span><span class="pun">(</span><span class="pln">h </span><span class="pun">-</span><span class="pln"> w</span><span class="pun">)</span><span class="pln"> </span><span class="pun">//</span><span class="pln"> </span><span class="lit">2</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> h </span><span class="pun">&gt;</span><span class="pln"> w</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> frame</span><span class="pun">[</span><span class="pln">start</span><span class="pun">:</span><span class="pln"> start </span><span class="pun">+</span><span class="pln"> w</span><span class="pun">]</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> frame</span><span class="pun">[:,</span><span class="pln"> start</span><span class="pun">:</span><span class="pln"> start </span><span class="pun">+</span><span class="pln"> h</span><span class="pun">]</span><span class="pln">


</span><span class="kwd">def</span><span class="pln"> main</span><span class="pun">():</span><span class="pln">
    </span><span class="com"># الثوابت</span><span class="pln">
    index_to_letter </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="str">'ABCDEFGHIKLMNOPQRSTUVWXY'</span><span class="pun">)</span><span class="pln">
    mean </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.485</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">255.</span><span class="pln">
    std </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0.229</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="lit">255.</span><span class="pln">

    </span><span class="com"># إنشاء جلسة قابلة للتشغيل باستخدام النموذج المُصدَّر</span><span class="pln">
    ort_session </span><span class="pun">=</span><span class="pln"> ort</span><span class="pun">.</span><span class="typ">InferenceSession</span><span class="pun">(</span><span class="str">"signlanguage.onnx"</span><span class="pun">)</span><span class="pln">

    cap </span><span class="pun">=</span><span class="pln"> cv2</span><span class="pun">.</span><span class="typ">VideoCapture</span><span class="pun">(</span><span class="lit">0</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">:</span><span class="pln">
        </span><span class="com"># التقط إطارًا بإطار</span><span class="pln">
        ret</span><span class="pun">,</span><span class="pln"> frame </span><span class="pun">=</span><span class="pln"> cap</span><span class="pun">.</span><span class="pln">read</span><span class="pun">()</span><span class="pln">

        </span><span class="com"># معالجة البيانات</span><span class="pln">
        frame </span><span class="pun">=</span><span class="pln"> center_crop</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">)</span><span class="pln">
        frame </span><span class="pun">=</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">cvtColor</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">,</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">COLOR_RGB2GRAY</span><span class="pun">)</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">resize</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">))</span><span class="pln">
        x </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">x </span><span class="pun">-</span><span class="pln"> mean</span><span class="pun">)</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> std

        x </span><span class="pun">=</span><span class="pln"> x</span><span class="pun">.</span><span class="pln">reshape</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">,</span><span class="pln"> </span><span class="lit">28</span><span class="pun">).</span><span class="pln">astype</span><span class="pun">(</span><span class="pln">np</span><span class="pun">.</span><span class="pln">float32</span><span class="pun">)</span><span class="pln">
        y </span><span class="pun">=</span><span class="pln"> ort_session</span><span class="pun">.</span><span class="pln">run</span><span class="pun">(</span><span class="kwd">None</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="str">'input'</span><span class="pun">:</span><span class="pln"> x</span><span class="pun">})[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">

        index </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">argmax</span><span class="pun">(</span><span class="pln">y</span><span class="pun">,</span><span class="pln"> axis</span><span class="pun">=</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
        letter </span><span class="pun">=</span><span class="pln"> index_to_letter</span><span class="pun">[</span><span class="pln">int</span><span class="pun">(</span><span class="pln">index</span><span class="pun">)]</span><span class="pln">

        cv2</span><span class="pun">.</span><span class="pln">putText</span><span class="pun">(</span><span class="pln">frame</span><span class="pun">,</span><span class="pln"> letter</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="lit">100</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100</span><span class="pun">),</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">FONT_HERSHEY_SIMPLEX</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2.0</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">255</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">),</span><span class="pln"> thickness</span><span class="pun">=</span><span class="lit">2</span><span class="pun">)</span><span class="pln">
        cv2</span><span class="pun">.</span><span class="pln">imshow</span><span class="pun">(</span><span class="str">"Sign Language Translator"</span><span class="pun">,</span><span class="pln"> frame</span><span class="pun">)</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> cv2</span><span class="pun">.</span><span class="pln">waitKey</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&amp;</span><span class="pln"> </span><span class="lit">0xFF</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> ord</span><span class="pun">(</span><span class="str">'q'</span><span class="pun">):</span><span class="pln">
            </span><span class="kwd">break</span><span class="pln">

    cap</span><span class="pun">.</span><span class="pln">release</span><span class="pun">()</span><span class="pln">
    cv2</span><span class="pun">.</span><span class="pln">destroyAllWindows</span><span class="pun">()</span><span class="pln">

</span><span class="kwd">if</span><span class="pln"> __name__ </span><span class="pun">==</span><span class="pln"> </span><span class="str">'__main__'</span><span class="pun">:</span><span class="pln">
    main</span><span class="pun">()</span></pre>

<p>
	اخرج من الملف وشغّل البرنامج:
</p>

<pre class="ipsCode">(signlanguage) $ python step_5_camera.py
</pre>

<p>
	بمجرد تشغيل البرنامج، ستظهر نافذة تحتوي على البث المباشر لكاميرا الويب الخاصة بك. يُعرض حرف لغة الإشارة المتوقع في أعلى اليسار. ارفع يدك وضع إشارتك المُفضلة لترى عمل المُصنّف الخاص بك. فيما يلي بعض النتائج النموذجية التي توضّح الحرفين L و D.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="144896" href="https://academy.hsoub.com/uploads/monthly_2024_02/image_1.png.7465827fd4889ecc265320c11e2154f7.png" rel=""><img alt="image 1" class="ipsImage ipsImage_thumbnailed" data-fileid="144896" data-unique="jx2mejv6c" src="https://academy.hsoub.com/uploads/monthly_2024_02/image_1.thumb.png.6a1c9e1858a3d507720f3989056f00b5.png"> </a>
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="144897" href="https://academy.hsoub.com/uploads/monthly_2024_02/image_2.png.a54538f6c82f11ddc0576ec616081e55.png" rel=""><img alt="image 2" class="ipsImage ipsImage_thumbnailed" data-fileid="144897" data-unique="y8ru30oih" src="https://academy.hsoub.com/uploads/monthly_2024_02/image_2.thumb.png.bd2150f102406e21617adb62b40c2204.png"> </a>
</p>

<p>
	لاحظ أن الخلفية أثناء الاختبار يجب أن تكون واضحة إلى حد ما حتى يعمل هذا النموذج. سبب ذلك هو عدم التنوّع في الخلفيات الموجودة في الصور في مجموعة البيانات التي درّبنا عليها النموذج. لو كانت مجموعة البيانات تتضمن صورًا لإشارات يد ذات خلفيات متنوعة، لكانت الشبكة متينة في مواجهة الخلفيات المتنوعة التي قد تحتوي ضوضاء أو اختلافات. عمومًا، تتميز مجموعة البيانات بخلفيات فارغة وأيادي متمركزة بطريقة جيد. نتيجة لذلك، فإن أداء نموذجنا يكون مثاليًا عندما تكون يدك في المنتصف وخلفها خلفية فارغة.
</p>

<p>
	وبهذا ينتهي تطبيق مُترجم لغة الإشارة.
</p>

<h2 id="-2">
	خاتمة
</h2>

<p>
	لقد بنينا في مقال اليوم مُترجمًا للغة الإشارة الأمريكية باستخدام الرؤية الحاسوبية ونموذج تعلّم آلي. ورأيت جوانب جديدة لتدريب نموذج التعلّم الآلي، مثل زيادة البيانات من أجل متانة النموذج وجداول معدّل التعلّم لتقليل الخسارة وتصدير نماذج الذكاء الاصطناعي باستخدام أونكس لاستخدامها في الإنتاج. وقد توّجنا ذلك بإنشاء تطبيق رؤية حاسوبية في الزمن الحقيقي، والذي يُترجم لغة الإشارة إلى أحرف باستخدام خط معالجة أنشأناه. تجدر الإشارة إلى أن مكافحة هشاشة المُصنف النهائي يمكن معالجتها بأي من الطرق التالية أو جميعها. لمزيد من المعرفة، جرّب المواضيع التالية لتحسين هشاشة المُصنّف:
</p>

<ul>
	<li>
		التعميم Generalization: هذا ليس موضوعًا فرعيًا ضمن مجال الرؤية الحاسوبية، بل هو مشكلة موجودة في جميع مراحل <a href="https://www.google.com/url?q=https://academy.hsoub.com/programming/artificial-intelligence/%25D9%2586%25D8%25B8%25D8%25B1%25D8%25A9-%25D8%25B3%25D8%25B1%25D9%258A%25D8%25B9%25D8%25A9-%25D8%25B9%25D9%2584%25D9%2589-%25D9%2585%25D8%25AC%25D8%25A7%25D9%2584-%25D8%25AA%25D8%25B9%25D9%2584%25D9%2585-%25D8%25A7%25D9%2584%25D8%25A2%25D9%2584%25D8%25A9-r1933/&amp;sa=D&amp;source=docs&amp;ust=1704459622201054&amp;usg=AOvVaw0kV9G2Ro_LX0dtR_2e5v02" rel="external nofollow">تعلّم الآلة</a>.
	</li>
	<li>
		التكيف مع المجال Domain Adaptation: لنفترض أن النموذج الخاص بك قد تدرّب في المجال A (على سبيل المثال، البيئات المشمسة). هل يمكنك تكييف النموذج مع المجال B (على سبيل المثال، البيئات الملبّدة بالغيوم) بسرعة؟
	</li>
	<li>
		أمثلة مخادعة Adversarial Examples: لنفترض أن الخصم يصمم صورًا عمدًا لخداع نموذجك. كيف يمكنك تصميم مثل هذه الصور؟ وكيف يمكنك مكافحتها والتعامل معها؟
	</li>
</ul>

<p>
	ترجمة -وبتصرُّف- للمقال <a href="https://www.digitalocean.com/community/tutorials/how-to-build-a-neural-network-to-translate-sign-language-into-english#step-2-preparing-the-sign-language-classification-dataset" rel="external nofollow">How To Build a Neural Network to Translate Sign Language into English</a> لصاحبه Alvin Wan.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تعلم الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مكتبات وأطر عمل الذكاء الاصطناعي: القوة الكامنة خلف الأنظمة الذكية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%86%D8%B8%D8%B1%D8%A9-%D8%B3%D8%B1%D9%8A%D8%B9%D8%A9-%D8%B9%D9%84%D9%89-%D9%85%D8%AC%D8%A7%D9%84-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-r1933/" rel="">نظرة سريعة على مجال تعلم الآلة</a>
	</li>
	<li>
		الشيفرة المصدرية للتطبيق <a class="ipsAttachLink" data-fileext="zip" data-fileid="144914" data-filekey="7903a473a56e36088972016a966c8e9f" href="https://academy.hsoub.com/applications/core/interface/file/attachment.php?id=144914&amp;key=7903a473a56e36088972016a966c8e9f" rel="">sign-language-translator-master.zip</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2259</guid><pubDate>Tue, 20 Feb 2024 12:04:00 +0000</pubDate></item><item><title>&#x641;&#x648;&#x627;&#x626;&#x62F; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D9%81%D9%88%D8%A7%D8%A6%D8%AF-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2247/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/799866541_.png.a70e21eda82dba60ef77d1fb9b78eefa.png" /></p>
<p>
	في هذا العصر الذي تتسارع فيه وتيرة التطور التقني، يُمثّل <span ipsnoautolink="true">الذكاء الاصطناعي</span> Artificial Intelligence كلمة السر التي ترتبط بالابتكار والتقدم. وتحفل مجالات حياتنا المختلفة بتطبيقات الذكاء الاصطناعي، بدءًا من الهواتف الذكية التي نحملها بأيدينا، إلى الأجهزة الطبية في المستشفيات التي تنقذ حياة الناس إلى تحقيق تحوّلات في مختلف المجالات الصناعية والتجارية. إذ يشكل الذكاء الاصطناعي نقلة نوعية في نمط حياتنا وأعملنا، فهو ليس مجرد مصطلح تقني، بل <span ipsnoautolink="true">هو تجسيد للمستقبل</span> الذي نتجه نحوه.
</p>

<p>
	نستكشف في هذه المقالة فوائد الذكاء الاصطناعي المبهرة، ومن بينها الإبداع الصناعي، وتحسين الرعاية الصحية، وتحسين أداء الشركات، واكتشاف الفضاء ..إلخ. كما نستعرض كيف يمكن للذكاء الصناعي تحسين حياتنا ويجد حلولًا للتحديات الكبرى التي نواجهها في عالم معقد يتغير بسرعة.
</p>

<h2 id="10">
	عشر فوائد للذكاء الاصطناعي
</h2>

<p>
	من المحتمل أنك استخدمت ا<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لذكاء الاصطناعي</a> بشكل ما في العديد من تطبيقات الحاسوب أو الهاتف الذكي التي تعتمد عليها في عملك. على سبيل المثال، يتطلب التحدث إلى هاتفك الذكي استخدام الذكاء الاصطناعي للتعرف على الكلام. وبالمثل، يقوم الذكاء لاصطناعي بتصفية كل البريد غير المرغوب فيه الذي قد يصل إلى صندوق الوارد الخاص بك.
</p>

<p>
	حتى أنك قد تجد الذكاء الاصطناعي في أماكن يصعب تخيل استخدام الذكاء الصناعي فيها. على سبيل المثال، يمكن أن يستفيد منظم الحرارة في منزلك، والذي يُستخدم للتحكم في درجة حرارة المنزل تقنيات الذكاء الاصطناعي إذا كان متطورًا ويعدل درجة الحرارة تلقائيًا بناء عوامل عديدة مثل الفصل الحالي من السنة، أو التفضيلات الشخصية لأصحاب المنزل، أو وجود أشخاص في المنزل من عدمه وغيرها من العوامل العديدة الأخرى.<br>
	نتحدث في هذا المقال عن فوائد الذكاء الاصطناعي والاستخدامات الأكثر شيوعًا له التي نجدها في العديد من القطاعات.
</p>

<h3 id="1">
	1. الإبداع الاصصناعي
</h3>

<p>
	لاشك أن فوائد الذكاء الاصطناعي ودوره في تحقيق مفهوم الإبداع الاصطناعي artificial creativity هي أحد أكثر الأمور إثارةً وابتكارًا في التقنيات الحديثة، إذ يمكن أن تحاكي الأجهزة الذكية اليوم الإبداع البشري وتحدث ثورة في طريقة نظرتنا إلى الفن والابتكار، فمن خلال <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الخوارزميات المتقدمة للذكاء الاصطناعي</a>، يمكن للحواسيب اليوم إنتاج لوحات فنية مذهلة.
</p>

<p>
	كما يمكن للبرامج الحاسوبية أيضًا توليد مقاطع موسيقية وأعمال سينمائية كما يستخدم الذكاء الاصطناعي اليوم في تحليل الأنماط الموسيقية وإنشاء ألحان فريدة وملهمة، ويمكن للمؤلفين والمنتجين الاستفادة من هذه التقنيات لتوليد موسيقى جديدة ومبتكرة، كما يمكن لتقنيات الذكاء الاصطناعي اليوم إعادة إنتاج صوت شخص ليبدو كأنه صوت شخص آخر.
</p>

<p>
	بالإضافة إلى ذلك، يمكن <span ipsnoautolink="true">إنتاج أفلام وأعمال سينمائية</span> ذات جودة عالية و بتكلفة أقل باستخدام تقنيات الرسوم المتحركة والمؤثرات البصرية وغيرها من التقنيات المدعومة بالذكاء الاصطناعي، بالتالي جعل الإبداع السينمائي أكبر وأكثر وتنوعًا، كما أن فوائد الذكاء الاصطناعي في الفنون، لاتأتي فقط من كونها مجرد أداة تقنية، بل هو شريك إبداعي يُلهم العقول البشرية لاستكشاف حدود الفن وتعزيز الابتكار بطرق جديدة.
</p>

<h3 id="2">
	2. فوائد الذكاء الاصطناعي في تلبية الاحتياجات الطبية
</h3>

<p>
	يتطلب عالم الطب المعقد مستوىً من الخبرة يتجاوز في كثير من الأحيان القدرات البشرية، فمع تطور التكنولوجيا والمنهجيات يتعمق التعقيد، وهذا ما يجعل من المستحيل تقريبًا على أي فرد بغض النظر عن مدى تخصصه، إتقان كل جانب من جوانب أمر ما. هنا يكمن الدور المحوري للذكاء الاصطناعي في مجال الرعاية الصحية، حيث يتدخل الذكاء الاصطناعي كحليف موثوق ومنطقي وغير متحيز، ليدعم الأطباء والعاملين في القطاع الصحي في تأدية المهام التي تفوق القدرات البشرية. بدءًا من المراقبة الدقيقة للمرضى من خلال إجراء أعداد كبيرة من الفحوصات بالتسلسل المحدد والدقة اللازمة، ووصولاً إلى تمكين المرضى من إدارة المهام العلاجية بشكل مستقل.
</p>

<p>
	وقد نجحت التقنيات المعاصرة المدعومة بتقنيات الذكاء الاصطناعي في سدِّ الفجوة بين القيود البشرية والضرورات الطبية. وإضافة لما سبق، فقد أحدثت الابتكارات الذكية مثل المراقبة عن بعد، والتحليل المعتمد على الذكاء الاصطناعي ثورة في التشخيص الطبي، ومكّنت الأطباء من تحديد المشكلات ومعالجتها بسرعة، وغالبًا دون الحاجة إلى الحضور الجسدي للمريض، كما بدأت تظهر <span ipsnoautolink="true">الحلول الروبوتية كبدائل فعالة في العمليات الجراحية</span> وعززت من دقة العمليات الجراحية. انقر <a href="https://www.clevelandclinicabudhabi.ae/ar-ae/health-hub/health-resource/treatments-and-procedures/robotic-surgery" rel="external nofollow">هنا</a> لمشاهدة الفيديو الذي يتحدث عن مايسمى نظام "دافنشي" الجراحي لرؤية مدى روعة الأمر!
</p>

<h3 id="3">
	3. الأتمتة وتعزيز الكفاءة والسلامة في البيئات الصناعية
</h3>

<p>
	أحدثت تقنيات الأتمتة المدعومة بالذكاء الاصطناعي ثورة في العمليات الصناعية، وساعدت البشر في إنجاز المهام بسرعة وكفاءة. على عكس الأساليب التقليدية، إذ تعمل الأتمتة المعتمدة على الذكاء الاصطناعي دون تدخل مباشر، وتمثل أداة حيوية في مختلف البيئات الصناعية في جميع أنحاء العالم.
</p>

<p>
	وأحد الأهداف الأساسية للأتمتة هو التخلص من المهام الحياتية المتكررة التي غالبًا ما تؤدي إلى <span ipsnoautolink="true">الملل بين العاملين من البشر</span>، أما في الصناعات التي تعتمد على الذكاء الاصطناعي، مثل تصنيع السيارات، تتولى الروبوتات المجهزة بقدرات الذكاء الاصطناعي المتقدمة المهام التي تحمل طابعًا تكراريًا وتنجزها مع ضمان الدقة والجودة دون الاستسلام لمخاطر الملل.
</p>

<p>
	علاوة على ذلك، تساهم الأتمتة التي تعمل بالذكاء الاصطناعي في تحسين معايير السلامة بشكل كبير، وذلك من خلال استبدال البشر في المهام الخطيرة، بالتالي تساهم هذه الآلات الذكية في تقليل الحوادث والإصابات في أماكن العمل، وتعزز هذه العلاقة التكافلية بين الخبرة البشرية وتكنولوجيا الذكاء الاصطناعي من الابتكار وتساهم في جعل بيئة العمل أكثر أمانًا وراحة.
</p>

<h3 id="4friendlyapplications">
	4. تعزيز مفهوم التطبيقات سهلة الاستخدام Friendly Applications
</h3>

<p>
	يشكل الذكاء الاصطناعي محورًا أساسيًا في تحسين تجربة المستخدم وجعل التقننيات سهلة الاستخدام. إذ يمكن للذكاء الاصطناعي تحليل أسلوب الاستخدام للمستخدمين وفهم احتياجاتهم بدقة، ويمكننا من تصميم وتطوير واجهات أكثر فعالية وبساطة وتوقع مدخلات المستخدمين. على سبيل المثال، يتنبأ ببقية الكلمة بعد أن يكتب المستخدم بضعة أحرف، مما يعزز الكفاءة عن طريق تقليل ضغطات المفاتيح.
</p>

<p>
	ويخدم هذا النهج الاستباقي عدة أغراض:
</p>

<ul>
	<li>
		يكتب المستخدمون بشكل أقل، مما يعزز كفاءتهم.
	</li>
	<li>
		يتلقى التطبيق عددًا أقل من الإدخالات الخاطئة نتيجة الأخطاء المطبعية.
	</li>
	<li>
		يعزز التواصل بين المستخدم والتطبيق ويطالب المستخدم باستخدام المصطلحات الصحيحة.
	</li>
</ul>

<p>
	إضافةً إلى ذلك، يمكن للذكاء الاصطناعي التكيف والتطور بناءً على تفاعلات المستخدم السابقة، وتخصيص الاقتراحات والتوصيات لتتماشى مع تفضيلاته في تنفيذ المهام، وتقديم أفكار جديدة ربما لم يفكر فيها المستخدم. ويمكن لهذه الميزات بكل تأكيد أن تحسن تجربة المستخدمين بشكل كبير.
</p>

<h3 id="5">
	5. فوائد الذكاء الاصطناعي في استكشاف الفضاء
</h3>

<p>
	لقد أسرت جاذبية الكون خيال الإنسان لعدة قرون، ودفعته لاستكشاف اتساع الفضاء وكشف أسراره. فمنذ العصور القديمة، كان البشر يحدقون في النجوم ويتساءلون عن أسرارها ويتأملون الاحتمالات خارج غلافنا الجوي. وفي السنوات الأخيرة، ومع ظهور التقنيات المتقدمة والذكاء الاصطناعي، حقق فهمنا للفضاء قفزات غير مسبوقة.
</p>

<p>
	وقد بدأت رحلة فهم الكون بالتلسكوبات، وهي أدوات أتاحت لعلماء الفلك النظر في أعماق الفضاء وقد تطورت التلسكوبات على مر القرون، وأصبحت أكبر وأكثر تعقيدًا. ومع ذلك، غالبًا ما يشوه الغلاف الجوي للأرض الملاحظات السماوية. وللتخفيف من هذه المشكلة، لجأ العلماء إلى حل هذه القضية من خلال <span ipsnoautolink="true">استخدام التصحيحات المعتمدة على الذكاء الاصطناعي</span>، كما <span ipsnoautolink="true">ساعدت خوارزميات التعلم الآلي في اكتشاف الكواكب التي تقع خارج نظامنا الشمسي</span> وتحليل الحركات المعقدة للأجرام السماوية، في محاولة لكشف أسرار الكون وقد ساعدت خوارزميات الذكاء الاصطناعي كذلك في معالجة البيانات الفلكية بدقة، مما ساعد العلماء في بناء نماذج مثل نموذج <a href="https://en.wikipedia.org/wiki/Lambda-CDM_model" rel="external nofollow">Lambda Cold Dark Matter (LCDM)</a>، الذي يهدف إلى وصف بنية واسعة النطاق للكون وتطوره واليوم يعد الذكاء الاصطناعي حليفًا لا غنى عنه لعلماء الفضاء، حيث يساعدهم في الحسابات والتحليلات المعقدة.
</p>

<h3 id="6">
	6. الرؤية الحاسوبية والواقع الافتراضي ومعالجة الصور
</h3>

<p>
	لعبت التقنية في عالمنا الحديث دوراً هامًا في تحسين الاتصال وتوسيع آفاق الواقع الذي نعيش فيه، ويشكل الذكاء الاصطناعي العمود الفقري لهذه التحولات المبهرة ففي مجال الرؤية الحاسوبية ومعالجة الصور، تُعدُّ التقنيات الحديثة المدعومة بالذكاء الاصطناعي مثالاً بارزًا على هذا التقدم الهائل ومن أبرز هذه التقنيات:
</p>

<ul>
	<li id="-4">
		<strong>التعرف على الأشياء والأماكن</strong>: إذ يمكن للذكاء الاصطناعي الآن التعرف على الأشياء والأماكن بدقة فائقة. هذا التطور يُستخدم مثلًا في تحقيق الأمان العام، حيث يمكن للكاميرات المزودة بالذكاء الاصطناعي التعرّف على الوجوه والمشاهد المشبوهة والتفاعل بشكل سريع وفعّال.
	</li>
	<li>
		<strong>الواقع الافتراضي والواقع المعزز:</strong> فقد أحدثت تقنيات الواقع الافتراضي Virtual Reality والواقع المعزز Augmented Reality ثورة في الصناعات الترفيهية والتعليمية. فبفضل الذكاء الاصطناعي، يُمكن تحسين تجارب الواقع الافتراضي لتكون أكثر واقعية وتفاعلية، وذلك عن طريق محاكاة الحركات البشرية بدقة واستجابة سريعة لحركات المستخدم.
	</li>
	<li>
		<strong>معالجة الصور</strong>: يستخدم الذكاء الاصطناعي في تحسين الصور بطرق مذهلة. إذ يمكن تحسين دقة الصور وتصحيح الألوان وإزالة الضوضاء بفعالية عالية، بالتالي يُمكن للمصورين والمصممين إنتاج صور استثنائية بجودة عالية.
	</li>
	<li>
		مساعدة الأشخاص ذوي الإعاقة البصرية: إذ يمكن للأشخاص ذوي الإعاقة البصرية الوصول إلى المعلومات بفضل التطبيقات المبتكرة المدعومة بالذكاء الاصطناعي، ويمكن للتقنيات تحويل النصوص إلى كلام والتعرف على الأشياء في البيئة المحيطة، وهذا يزيد من استقلالهم ويُسهم في تسهيل حياتهم اليومية.
	</li>
</ul>

<h3 id="7">
	7. التعرف على خط اليد والتعرف على الكلام والتعرف الضوئي على الحروف
</h3>

<p>
	تعتبر تقنية <strong><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B9%D8%B1%D9%81_%D8%B9%D9%84%D9%89_%D8%AE%D8%B7_%D8%A7%D9%84%D9%8A%D8%AF" rel="external nofollow">التعرف على خط اليد</a></strong> إحدى الابتكارات الرائدة التي تُمكّن من تحويل الكتابة اليدوية إلى نصوص رقمية بشكل فعّال ودقيق. إذ يتيح التعرف على خط اليد للأجهزة الذكية والأنظمة الحوسبية التفاعل مع الكتابة اليدوية للمستخدمين، مما يوفر تجربة استخدام سلسة ومريحة. وتتنوع تطبيقات هذه التقنية بين الأجهزة اللوحية والهواتف الذكية، حيث يمكن للمستخدمين الكتابة باليد ومشاركة ملاحظاتهم وأفكارهم بكل يسر.
</p>

<p>
	كما تعد تقنية <strong><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B9%D8%B1%D9%81_%D8%B9%D9%84%D9%89_%D8%A7%D9%84%D9%83%D9%84%D8%A7%D9%85" rel="external nofollow">التعرّف على الكلام</a></strong> مجالًا رائدًا في <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a>، حيث تُمكّن هذه التقنية الأنظمة من فهم الكلام البشري وتحويله إلى نصوص مكتوبةوتسهم بشكل كبير في تسهيل التفاعل بين البشر والأجهزة الذكية، سواء كانت هذه الأجهزة هواتف ذكية أو أجهزة منزلية ذكية، وتسهل علينا التحكم في الأجهزة بواسطة الأوامر الصوتية.
</p>

<p>
	أخيرًا تسمح تقنية <strong><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B9%D8%B1%D9%81_%D8%A8%D8%B5%D8%B1%D9%8A_%D8%B9%D9%84%D9%89_%D8%A7%D9%84%D9%85%D8%AD%D8%A7%D8%B1%D9%81" rel="external nofollow">التعرّف الضوئي على الحروف</a></strong> للأجهزة بفهم وتحليل الحروف والنصوص المكتوبة في الصور أو الوثائق. ويمكن لهذه التقنية التعرف على خط اليد أو الخطوط المطبوعة بدقة عالية، ولهذا فوائد عديدة في مجموعة واسعة من التطبيقات مثل مساعدة الأشخاص ذوي الاحتياجات الخاصة في قراءة النصوص، ومساعدة الباحثين في فحص وثائق ضخمة بسرعة ودقة.
</p>

<h3 id="8">
	8. معالجة اللغات الطبيعية
</h3>

<p>
	تعد معالجة اللغات الطبيعية NLP أحد التطبيقات المفيدة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">لتعلم الآلة</a> والتي نستخدمها في حياتنا اليومية ومن التطبيقات الأساسية لهذه التقنية:
</p>

<ul>
	<li>
		تستخدم منصات البريد الإلكتروني، مثل جيميل Gmail وآوتلوك Outlook وغيرهم، تقنيات معالجة اللغة الطبيعية NLP على نطاق واسع لتوفير مجموعة من الميزات، مثل تصنيف البريد العشوائي spam والرسائل ذات الأولوية العالية
	</li>
	<li>
		priority inbox واستخراج المواعيد من النصوص calendar event extraction والإكمال التلقائي وما إلى ذلك.
	</li>
	<li>
		تعتمد <a href="https://ar.wikipedia.org/wiki/%D9%85%D8%B3%D8%A7%D8%B9%D8%AF_%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A" rel="external nofollow">تقنيات المساعدة الصوتية أو الافتراضية</a> مثل سيري Siri وكورتانا Cortana، على مجموعة من تقنيات معالجة اللغة الطبيعية للتفاعل مع المستخدم وفهم أوامر المستخدم والاستجابة وفقًا لذلك.
	</li>
	<li>
		تستخدم محركات البحث الحديثة، مثل جوجل Google وبينج Bing، والتي تعد أساس الإنترنت اليوم، تقنيات معالجة اللغة الطبيعية بشكل كبير في العديد من المهام الفرعية، مثل فهم الاستعلامات وتوسيع الاستعلام والإجابة على الأسئلة واسترجاع المعلومات وترتيب النتائج وتجميعها ..إلخ.
	</li>
	<li>
		<a href="https://academy.hsoub.com/apps/cat/%D8%A3%D8%B4%D9%87%D8%B1-%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B1%D8%AC%D9%85%D8%A9-%D8%A8%D9%85%D8%B3%D8%A7%D8%B9%D8%AF%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8-cat-tools-r537/" rel="">الترجمة الآلية بمساعدة الحاسوب</a> مثل مترجم جوجل أو مترجم <a href="https://academy.hsoub.com/apps/cat/%D8%AE%D8%AF%D9%85%D8%A9-azure-ai-translator-%D8%A7%D9%84%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D9%85%D9%86-microsoft-r916/" rel="">Azure AI Translator</a>.
	</li>
</ul>

<p>
	هذه القائمة ليست شاملة عمومًا. لمعالجة اللغة الطبيعية فوائد عديدة في مختلف التطبيقات.
</p>

<h3 id="9">
	9. الذكاء الاصطناعي والروبوتات
</h3>

<p>
	غالبًا ما يتم الخلط بين <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B1%D9%88%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B4%D8%A7%D9%85%D9%84-r1855/" rel="">الروبوتات </a>والذكاء الاصطناعي، ولكن من الضروري التمييز بين الاثنين، حيث يركز <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/" rel="">الذكاء الاصطناعي</a> في المقام الأول على حل المشكلات المعقدة التي تتطلّب قدرات بشرية غالبًا، مثل التعرف على الأشياء أو فهم الكلام والنصوص، فإن الروبوتات تتعلّق باستخدام الآلات لأداء المهام الجسدية بطريقة آلية جزئيًا أو كليًا. فكر في الذكاء الاصطناعي باعتباره البرنامج الذي يعالج هذه المشكلات، في حين تعمل الروبوتات بمثابة الأجهزة التي تجلب هذه الحلول إلى الحياة.
</p>

<p>
	يختلف استخدام برامج الذكاء الاصطناعي في عالم الروبوتات. يتم تشغيل بعض الروبوتات عن بعد من قبل البشر، مثل روبوت دافنشي الذي ذكرناه سابقًا، في حين يعزز الذكاء الاصطناعي التحكم البشري ولكنه لا يحل محله. وهناك روبوتات تتلقى أوامر مجردة من البشر، مثل الانتقال من النقطة أ إلى النقطة ب على الخريطة أو التقاط كائن، وتعتمد على الذكاء الاصطناعي لتنفيذ هذه التعليمات. بالإضافة إلى ذلك، يمكن لبعض الروبوتات إكمال المهام المعينة بشكل مستقل دون تدخل بشري.
</p>

<p>
	يؤدي دمج الذكاء الاصطناعي في <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B1%D9%88%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B4%D8%A7%D9%85%D9%84-r1855/" rel="">برمجة الروبوتات</a> إلى تعزيز قدراته، مما يجعله أكثر ذكاءً وأكثر كفاءة في المهام. ومع ذلك، من المهم ملاحظة أنه ليست كل الروبوتات تحتاج إلى الذكاء الاصطناعي لتعمل بفعالية. غالبًا ما يغذي الخيال العلمي التداخل بين الذكاء الاصطناعي والروبوتات، لكنهما في الواقع يؤديان أدوارًا متباينة.
</p>

<p>
	يعد الاستخدام المتزايد للروبوتات في مختلف المجالات، بما في ذلك العمل الصناعي والبحث العلمي والرعاية الصحية وحتى التطبيقات العسكرية، اتجاهًا متزايدًا. وقد أدت التطورات الحديثة في الذكاء الاصطناعي إلى تسريع هذا الاتجاه من خلال معالجة التحديات المعقدة في مجال الروبوتات، مثل التعرف على الأشياء والتنبؤ بالسلوك البشري وفهم الأوامر الصوتية ومعالجة اللغة الطبيعية وحتى مهام مثل المشي في وضع مستقيم.
</p>

<h3 id="10-1">
	10. فوائد الذكاء الاصطناعي في الألعاب
</h3>

<p>
	يفيد <span ipsnoautolink="true">الذكاء الاصطناعي في <a href="https://academy.hsoub.com/programming/game-development/" rel="">صناعة الألعاب</a></span> بشكل كبير، ليضيف عمقًا وتعقيدًا إلى العوالم الافتراضية للعب. وقد دُمج الذكاء الاصطناعي بسلاسة في أنواع الألعاب المختلفة، بدءًا من الحركات الإستراتيجية <a href="https://academy.hsoub.com/programming/game-development/%D8%B4%D8%AE%D8%B5%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D9%86%D8%A7%D8%AC%D8%AD%D8%A9-r2212/" rel="">لشخصيات الألعاب</a> وحتى السلوك الذكي للأعداء، وهذا ما منح شخصيات اللعبة استجابة واقعية، مثل أشباح ألعاب الأركيد الكلاسيكية وروبوتات إطلاق النار الحديثة. إن نطاق تقنيات الذكاء الاصطناعي في الألعاب واسع، ويشمل أيضًا مهام مثل تحديد المسارات و<a href="https://academy.hsoub.com/programming/game-development/%D9%83%D8%B4%D9%81-%D8%A7%D9%84%D8%AA%D8%B5%D8%A7%D8%AF%D9%85%D8%A7%D8%AA-r770/" rel="">كشف التصادمات</a> وغيرها الكثير. وتستخدم العديد من الألعاب السائدة اليوم، مثل Creatures و Black &amp; White و Battlecruiser 3000AD و Dirt Track Racing و Fields of Battle و Heavy Gear أساليب الذكاء الاصطناعي في برمجتها.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="-8">
	خاتمة
</h2>

<p>
	لقد برز الذكاء الاصطناعي كشريك لا غنى عنه في رحلتنا المستمرة نحو المستقبل كإنجاز تقني فريد وتجسيد للإمكانيات العظيمة للعقول البشرية. من الإبداع الصناعي إلى تحسين الرعاية الصحية، ومن الأتمتة الصناعية إلى استكشاف الفضاء والواقع الافتراضي، وأصبح الذكاء الاصطناعي جزءًا لا يتجزأ من حياتنا اليومية ومنافسًا حقيقيًا في عدة ميادين.
</p>

<p>
	ولا يمكن تجاهل كل هذا التقدم في مجالات التعرّف على الصور والروبوتات ومعالجة اللغات الطبيعية والألعاب، ما يفتح أمامنا أفقًا جديدًا من الإمكانيات ويدفعنا لتعلم واستخدام الذكاء الاصطناعي لنحقق من خلاله أهدافنا وطموحاتنا البشرية. ولنتطلع بثقة وتفاؤل نحو هذا المستقبل المشرق، حيث يبقى الذكاء الاصطناعي مصدر إلهام يشكل الأساس لابتكاراتنا ورحلتنا المستمرة نحو التقدم والتطور.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A3%D9%87%D9%85-%D8%A7%D9%84%D8%A5%D9%86%D8%AC%D8%A7%D8%B2%D8%A7%D8%AA-%D9%88%D8%A7%D9%84%D8%A7%D8%AE%D8%AA%D8%B1%D8%A7%D8%B9%D8%A7%D8%AA-%D9%88%D9%83%D9%8A%D9%81-%D8%A3%D8%AB%D8%B1%D8%AA-%D9%81%D9%8A-%D8%AD%D9%8A%D8%A7%D8%AA%D9%86%D8%A7-%D8%A7%D9%84%D9%8A%D9%88%D9%85%D9%8A%D8%A9-r975/" rel="">الذكاء الاصطناعي: أهم الإنجازات والاختراعات وكيف أثرت في حياتنا اليومية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/" rel="">أساسيات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مستقبل الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مستقبل البرمجة</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2247</guid><pubDate>Mon, 19 Feb 2024 12:09:00 +0000</pubDate></item><item><title>&#x623;&#x647;&#x645;&#x64A;&#x629; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2243/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/1938142613_.png.0485dda23bbd77d42dee9869be4537ff.png" /></p>
<p>
	من المرجّح أنك سمعت بمصطلح الذكاء الاصطناعي Artificial Intelligence أو اختصارًا AI كثيرًا في الآونة الأخيرة نظرًا للتطورات المذهلة التي وصل إليها هذا المجال. ولكن ما هو الذكاء الاصطناعي بالضبط، وما أهمية الذكاء الاصطناعي؟
</p>

<p>
	بالنسبة للشق الأول من السؤال، فلقد أجبنا عليه بالتفصيل سابًقا في مقالة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الاصطناعي: دليلك الشامل</a>، إذ يشير الذكاء الاصطناعي في جوهره إلى قدرة الآلات على تقليد أو محاكاة السلوك البشري، بغية أداء المهام التي يقوم بها الإنسان. ومن الضروري أن نلاحظ أنه على الرغم من أن الذكاء الاصطناعي يمكن أن يحاكي جوانب معينة من الذكاء البشري، إلا أنه يفتقر إلى الوعي والعواطف البشرية. إذ يمتلك البشر الحدس والإبداع والفهم العاطفي وهي صفات لا يستطيع الذكاء الاصطناعي محاكاتها، وبغض النظر عن مدى تقدمه. من أداء ثديبدو مذهلًا إلا أن الذكاء الاصطناعي يعمل ضمن المعايير التي حددها مبرمجوه والبيانات التي تم تدريبه عليها، وهذا لا يتطابق مع تعقيد عمليات التفكير البشري.
</p>

<p>
	بالنسبة للشق الثاني من السؤال، فهذا هو موضوع مقالتنا هذه المرة. فقد أحدث الذكاء الصناعي ضجة كبيرة في عالمنا لأنه يمثل تحولًا مذهلًا في طريقة عيشنا وعملنا وتفاعلنا مع التقنية. متميّزًا عن أي ابتكار سابق، فإن الذكاء الصناعي قادر على إحداث ثورة في الصناعات وحل المشكلات المعقدة والارتقاء بحياتنا اليومية وتسهيلها بطرق لم يكن من الممكن تصورها من قبل فالكفاءة والدقة والإمكانيات اللامحدودة هو ما يجعل الذكاء الاصطناعي موضوعًا مهمًا ومثيرًا للغاية.
</p>

<p>
	نكتشف معًا في هذه المقالة الأسباب الكامنة وراء هذا الضجيج، ونستكشف سبب أهمية الذكاء الاصطناعي وكيف يعيد تشكيل عالمنا.
</p>

<h2 id="">
	أهمية الذكاء الاصطناعي: النقاط التي تجعل الذكاء الاصطناعي مهمًا
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="144087" href="https://academy.hsoub.com/uploads/monthly_2024_02/1170930303_.png.b3e49c5410c526a02d78333467f3df68.png" rel=""><img alt="أهمية الذكاء الاصطناعي.png" class="ipsImage ipsImage_thumbnailed" data-fileid="144087" data-ratio="62.60" data-unique="sxpjudfkm" style="width: 500px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2024_02/.thumb.png.c94e0ec98e5705846bb52d3c8404c345.png"></a>
</p>

<p>
	الذكاء الاصطناعي ليس مجرد كلمة طنانة بل هو قوة تحويلية تعيد تشكيل الطريقة التي نعيش بها ونعمل ونتفاعل مع العالم. وسنستكشف في الفقرات التالية التأثير العميق للذكاء الاصطناعي على مجتمعنا ولماذا يعد فهم أهميته أمرًا ضروريًا للجميع.
</p>

<h3 id="-1">
	الذكاء الاصطناعي وحل المشكلات: تطبيقات العالم الحقيقي
</h3>

<p>
	لعل أحد الأسباب الأساسية لأهمية الذكاء الاصطناعي هي قدرته على حل المشكلات التي نواجهها. حيث يمكن لأنظمة الذكاء الاصطناعي تحليل كميات هائلة من البيانات وتحديد <a href="https://ar.wikipedia.org/wiki/%D9%86%D9%85%D8%B7_(%D8%B4%D9%83%D9%84)" rel="external nofollow">الأنماط</a> التي قد تفوتها عقولنا البشرية. مما يوفر لنا هذه القدرة إمكانية <a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA/" rel="">برمجة تطبيقات</a> ثورية في مجالات مثل الرعاية الصحية والنقل والأعمال والصناعة والزراعة وإنتاج المحاصيل، ولاشك أن براعة الذكاء الاصطناعي في حل المشكلات يعد مساعدة عظيمة لمعالجة التحديات الصعبة التي تواجه البشرية.
</p>

<h3 id="-2">
	الذكاء الاصطناعي والكفاءة: توفير الوقت والموارد
</h3>

<p>
	تخيل عالماً تتعامل فيه مع المهام المتكررة المملة بسلاسة وسرعة، ويسمح لك بالتركيز على الإبداع والابتكار. يجعل الذكاء الاصطناعي هذا الأمر ممكنًا من خلال <a href="https://academy.hsoub.com/entrepreneurship/planning/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D9%81%D9%8A%D8%AF-%D9%85%D9%86-%D8%A7%D9%84%D8%A3%D8%AA%D9%85%D8%AA%D8%A9-%D9%81%D9%8A-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9%D9%83-%D9%88%D8%B2%D8%A8%D8%A7%D8%A6%D9%86%D9%83-%D8%A8%D9%83%D9%81%D8%A7%D8%A1%D8%A9-%D8%B9%D8%A7%D9%84%D9%8A%D8%A9-r308/" rel="">أتمتة المهام</a> التي كانت تستغرق منك وقتًا طويلاً. على سبيل المثال في الصناعات، تعمل الروبوتات التي تعتمد على الذكاء الاصطناعي على تبسيط عمليات التصنيع وتحسين الكفاءة وخفض تكاليف الإنتاج. وفي مجال خدمة العملاء، تستجيب <a href="https://academy.hsoub.com/apps/general/%D8%AA%D8%AF%D8%B1%D9%8A%D8%A8-%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D8%A7%D8%AF%D8%AB%D8%A9-chatgpt-%D9%88%D8%AA%D8%B9%D9%84%D9%8A%D9%85%D9%87-%D9%83%D9%8A%D9%81-%D9%8A%D8%AA%D8%AD%D8%AF%D8%AB-%D9%88%D9%8A%D8%AA%D8%B9%D9%84%D9%85-r897/" rel="">روبوتات المحادثة</a> المدعومة بالذكاء الاصطناعي للاستفسارات بشكل فوري، مما يعزز تجربة المستخدمين ويوفر الوقت والموارد.
</p>

<h3 id="-3">
	الذكاء الاصطناعي في المستقبل: رسم ملامح المرحلة القادمة
</h3>

<p>
	يعد الذكاء الاصطناعي حافزًا للابتكار، ويولد أفكارًا <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">وتطبيقات</a> عديدة كانت تعتبر في السابق خيالًا علميًا. فمن السيارات ذاتية القيادة التي تَعِد بطرق أكثر أمانًا إلى الفن والموسيقى التي يولدها الذكاء الاصطناعي والتي تتحدى مفاهيمنا عن الإبداع، فإن الاحتمالات لا حدود لها. كما تعمل الأبحاث المعتمدة على الذكاء الاصطناعي على تسريع الاكتشافات العلمية وتساعد في تحسين مجالات مثل الطب وعلوم البيئة. ومثل هذه الابتكارات لا ترتقي بحياتنا فحسب، بل تمهد الطريق أيضًا لمستقبل تكون فيه الإمكانات البشرية لا حدود لها.
</p>

<p>
	إن فهم القوة التحويلية للذكاء الاصطناعي لا يقتصر على مجرد مسألة محو الأمية الرقمية بل هو جانب هام لكي تكون مشاركًا مستنيرًا ونشطًا في العالم الحديث. ونتعمق في الأقسام التالية أكثر في أهمية الذكاء الاصطناعي، ونستكشف كيف ساهم في تحويل الصناعات وإحداث ثورة في الطريقة التي نعيش بها ونعمل بها، كما نكشف عن التأثير الاستثنائي للذكاء الاصطناعي في حياتنا اليومية.
</p>

<h2 id="-4">
	الذكاء الاصطناعي في الحياة اليومية
</h2>

<p>
	لقد دمج الذكاء الاصطناعي نفسه بسلاسة في نسيج روتيننا اليومي، ليشكل بهدوء الطريقة التي نعيش بها ونتفاعل مع العالم. نستكشف في هذا القسم الجوانب المختلفة للذكاء الاصطناعي في حياتنا اليومية، ونسلط الضوء على الطرق التي يؤثر بها علينا.
</p>

<h3 id="-5">
	كيف يؤثر الذكاء الاصطناعي عليك يوميًا
</h3>

<p>
	يؤثر الذكاء الاصطناعي على يومك منذ اللحظة التي تستيقظ فيها. فهو يُسهّل روتينك الصباحي من خلال التنبؤ بطرق حركة المرور، مما يضمن وصولك إلى وجهتك بسرعة، أو أثناء قيامك بتصفح موجز الوسائط الاجتماعية الخاص بك، إذ تعمل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي </a>على تنظيم المحتوى وتخصيصه وفقًا لاهتماماتك وتجعل تجربتك عبر الإنترنت أكثر فائدة وسهولة وجاذبية.
</p>

<h3 id="-6">
	الذكاء الاصطناعي موجود في هواتفنا الذكية
</h3>

<p>
	يعد هاتفك الذكي، ذلك الرفيق الموجود في كل مكان، مثالًا رئيسيًا على اندماج الذكاء الاصطناعي في حياتنا اليومية. إذ يستجيب المساعدون الافتراضيون الصوتيين المدعومون بالذكاء الاصطناعي مثل سيري Siri وأليكسا Alexa ومساعد جوجل Google Assistant لأوامرك الصوتية ويساعدونك في جدولة المواعيد وتوفير المعلومات في الزمن الحقيق، كما يكمل النص التنبؤي المعتمد على الذكاء الاصطناعي الجمل التي تكتبها، مما يجعل إرسال الرسائل النصية أسرع وأكثر سهولة.
</p>

<h3 id="-7">
	أهمية الذكاء الاصطناعي في الرعاية الصحية
</h3>

<p>
	بالنسبة لمجال الرعاية الصحية، تأتي أهمية الذكاء الاصطناعي من إمكانية تحليل مجموعات كبيرة من البيانات لتعزيز دقة التشخيص ومساعدة الأطباء في تحديد الأمراض في مراحل مبكرة. وتتنبأ خوارزميات الذكاء الاصطناعي بتفشي الأمراض، مما يساعد في التخطيط المسبق للرعاية الصحية.
</p>

<h3 id="-8">
	أهمية الذكاء الاصطناعي في النقل
</h3>

<p>
	تأتي أهمية الذكاء الاصطناعي في مجال النقل من إمكانية تشغيل أنظمة الملاحة وتحسين المسارات في الزمن الحقيقي والتنبؤ بأنماط حركة المرور، وهذا ما يضمن أن تكون رحلتك فعّالة وخالية من التوتر أو المشاكل.
</p>

<p>
	كما حققت صناعة السيارات في السنوات الـ 130 الماضية تقدمًا ملحوظًا، مما أدى إلى تغيير الطريقة التي نتحرك بها. في ألمانيا مثلًا، يمتلك أكثر من نصف السكان الآن سيارة خاصة بهم، مما يوفر لهم إمكانية تنقل غير مسبوقة للعمل والأنشطة اليومية والترفيه. هذا الاعتماد على المركبات لا يمكن إنكاره، خاصة في المناطق ذات وسائل النقل العام المحدودة مثل الأرياف.
</p>

<p>
	يعد مستقبل النقل بمزيد من الراحة من خلال دمجه مع <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">أنواع مختلفة من الذكاء الاصطناعي</a> إذ ستصبح السيارات الكهربائية ذاتية القيادة أو السيارات الروبوتية، حقيقة واقعة وستنقلنا هذه المركبات ذاتية القيادة إلى أي وجهة تقريبًا، مما يسمح للركاب بالقراءة أو العمل أو الاسترخاء أثناء الرحلة، وفي حين توفر وسائل النقل العام وسائل راحة مماثلة، فإن السيارات الآلية ستوفر هذه الحرية على أي طريق وفي أي وقت.
</p>

<p>
	إضافة إلى ذلك ستظهر سيارات الأجرة الآلية التي لا تحتاج لسائق والتي يمكننا استدعاؤها وقت الحالجة من خلال تطبيق هاتف ذكي بسيط، وسيكون لدينا خيار السفر بمفردنا أو مشاركة الرحلة مع الآخرين، مما يلغي الحاجة إلى السيارات الشخصية تمامًا. ولا يوفر لنا هذا التحول المال فحسب، بل يريحنا أيضًا من مسؤوليات مختلفة مثل التزود بالوقود والصيانة والتنظيف ومعضلات ركن السيارات، مما يعد بمستقبل التنقل السهل والفعال من حيث التكلفة.
</p>

<p>
	وإلى جانب المكاسب الفورية في مجال الراحة والملاءمة، ستوفر السيارات الآلية مزايا كبيرة أخرى. على سبيل المثال، وفقاً ل<a href="https://www.mckinsey.com/industries/automotive-and-assembly/our-insights/a-road-map-to-the-future-for-the-auto-industry" rel="external nofollow">دراسة أجرتها شركة ماكينزي</a>، سنحتاج إلى عدد أقل بكثير من السيارات، وفي المقام الأول، سنحتاج إلى عدد أقل بكثير من أماكن ركن السيارات في عصر السيارات ذاتية القيادة، وهو ما سيؤدي إلى انخفاض هائل في استهلاك الموارد. ووفقًا ل<a href="https://ideas.repec.org/a/nat/natcli/v5y2015i9d10.1038_nclimate2685.html" rel="external nofollow">دراسة أجراها مختبر لورانس بيركلي الوطني</a>، ستتسبب السيارات الكهربائية ذاتية القيادة في انخفاض بنسبة 90% في انبعاثات غازات الاحتباس الحراري لكل ميل مسافر بسبب كفاءة استخدام الطاقة في المركبات والتوافق الأمثل بين السيارة والغرض منها. وبالتالي ستكون سيارات الأجرة الآلية أكثر صداقة للبيئة من الحافلات الثقيلة مثلًا، والتي غالبًا ما تعمل بسعة منخفضة، خاصة في المناطق الريفية. بشكل عام، سوف تساهم سيارات الأجرة الروبوتية بشكل كبير في توفير الطاقة. وستكون سلامة الركاب أعلى بكثير مما هي عليه اليوم، ويقدر الخبراء حاليًا معدلات الحوادث المستقبلية بين صفر وعشرة بالمائة مقارنة باليوم فلن يكون هناك قيادة عاطفية أو غضب على الطريق أو قيادة مشتتة.
</p>

<h3 id="-9">
	أهمية الذكاء الاصطناعي في الترفيه: البث والألعاب
</h3>

<p>
	تُحدث <span ipsnoautolink="true">خوارزميات الذكاء الاصطناعي</span> ثورة في مجال الترفيه وتبرز أهمية الذكاء الاصطناعي في منصات البث للتوصية بالأفلام والعروض المناسبة لاهتمام المستخدمين، حيث تكون مصممة خصيصًا لسجل المشاهدة الخاص بك، وبالتالي ستظهر أمامك المحتويات التي تهمك دومًا. من الناحية الأخرى، تبرز أهمية الذكاء الاصطناعي في عالم <a href="https://academy.hsoub.com/programming/game-development/" rel="">صناعة الألعاب</a> وقدرته على تكييف طريقة اللعب بناءً على تصرفات اللاعبين.
</p>

<h3 id="-10">
	أهمية الذكاء الاصطناعي في الأعمال
</h3>

<p>
	تستفيد الشركات من الذكاء الاصطناعي لتبسيط العمليات وتعزيز <a href="https://academy.hsoub.com/entrepreneurship/customer-care/%D8%A7%D9%84%D8%AD%D9%82%D9%8A%D9%82%D8%A9-%D8%AD%D9%88%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%B5%D9%86%D8%B9%D9%8A-%D9%81%D9%8A-%D9%85%D8%AC%D8%A7%D9%84-%D8%A7%D9%84%D8%AF%D8%B9%D9%85-%D8%A7%D9%84%D9%81%D9%86%D9%8A-r443/" rel="">خدمة الدعم الفني</a> وتحسين عملية صنع القرار. إذ توفر <a href="https://academy.hsoub.com/apps/web/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D8%A7%D8%AF%D8%AB%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D9%8A-%D8%B4%D8%A7%D8%AA-%D8%AC%D9%8A-%D8%A8%D9%8A-%D8%AA%D9%8A-chatgpt-r863/" rel="">روبوتات الدردشة Chatbots المدعومة بالذكاء الاصطناعي</a>، دعمًا فوريًا للعملاء وحل الاستفسارات بكفاءة. تقوم التحليلات المعتمدة على الذكاء الاصطناعي بفحص كميات هائلة من البيانات، واستخراج رؤى قيّمة تفيد في اتخاذ قرارات الأعمال الاستراتيجية، مما يضمن بقاء الشركات قادرة على المنافسة في سوق سريع التغير، ولا يقتصر تأثير الذكاء الصناعي على هذه المجالات فحسب، بل يمتد ليشمل كل جانب من جوانب حياتنا تقريبًا.
</p>

<p>
	ننتقل في القسم التالي للحديث عن أهمية الذكاء الاصطناعي في مجال مهم وهو الابتكار والإبداع.
</p>

<h3 id="-11">
	الابتكار والإبداع
</h3>

<p>
	على عكس المخاوف من أن تحل الآلات محل البشر أو الإبداع البشري، فإن الذكاء الاصطناعي أداة قوية لتعزيز قدراتنا الإبداعية وتضخيمها وليس استبدالها. فقد كان الابتكار دائمًا قوة دافعة وراء تقدم وتطور المجتمعات على مر العصور، ولطالما كان هناك عناصر وعوامل تُنشّط وتعزز الابتكار في كل حقبة، فسابقًا كان لازدهار الدولة الإسلامية في بغداد السبب الرئيسي لظهور علماء وابتكارات عربية مازالت مرتبطة بأسماء النجوم حتى الآن.
</p>

<p>
	مثال آخر، وفي وقت ليس ببعيد، كان لاختراع الكهرباء سببًا مباشرًا لآلاف الابتكارات الأخرى. أما اليوم فلدينا الذكاء الاصطناعي، الذي بدون أدنى شك، هو كهرباء هذه الحقبة. حيث يعمل الذكاء الاصطناعي كمحفز للابتكارات التكنولوجية والعلمية التي من شأنها أن ترتقي بمجتمعاتنا من خلال تقديم وجهات نظر وحلول جديدة للمشاكل أو المهام القديمة ولا شك أن قدرة الذكاء الصناعي على معالجة و<a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تحليل البيانات</a> الضخمة في وقت قصير، سيؤدي إلى مزيد من الاكتشافات والابتكارات الرائدة.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h4 id="-12">
	أهمية الذكاء الاصطناعي في الفن والموسيقى والتصميم
</h4>

<p>
	لقد حقق الذكاء الاصطناعي نجاحات كبيرة في عالم الإبداع. على سبيل المثال، في عالم الفن، تولد خوارزميات الذكاء الاصطناعي لوحات ومنحوتات وقطع فنية رقمية مذهلة. هذه الإبداعات، التي لا يمكن تمييزها غالبًا عن تلك التي صنعها الفنانون البشريون في الدقة والجمالية.
</p>

<p>
	من ناحية أخرى، يعد التأليف الموسيقي المعتمد على الذكاء الاصطناعي مجالًا مثيرًا آخر يؤكّد لنا مدى أهمية الذكاء الاصطناعي في هذا الحقل، حيث تقوم الخوارزميات بتحليل الأنماط الموسيقية و<span ipsnoautolink="true">إنشاء مقطوعات موسيقية ملهمة</span>. وفي مجال <a href="https://academy.hsoub.com/design/graphic/" rel="">التصميم الجرافيكي</a>، تساعد أدوات الذكاء الاصطناعي المصممين المحترفين من خلال أتمتة المهام المتكررة وتسمح لهم بالتركيز على التفكير والتصور.
</p>

<h4 id="-13">
	إطلاق العنان للإبداع باستخدام أدوات الذكاء الاصطناعي
</h4>

<p>
	أحد الجوانب الرائعة للذكاء الاصطناعي هو قدرته على تمكين الأفراد من إطلاق العنان لإبداعهم. إذ يمكن الآن بسهولة الوصول إلى العديد من أدوات ومنصات الذكاء الاصطناعي، مما يمكّن الأشخاص ذوي الخبرة التقنية المحدودة من استخدام قدارات الذكاء الاصطناعي. وتتراوح هذه الأدوات من تطبيقات تحرير الصور التي تستخدم الذكاء الاصطناعي لتحسين الصور، إلى روبوتات الدردشة التي تساعد المؤلفين على توسيع وتطوير الأفكار. ومن تسهيل إمكانية الوصول إلى تكنولوجيا الذكاء الاصطناعي، سيصبح الإبداع بلا حدود ومتاحًا لأي شخص لديه شرارة من الخيال.
</p>

<p>
	يعمل الذكاء الاصطناعي بمثابة لوحة يمكن للإبداع البشري أن يزدهر عليها، فهو يوفر وسيلة لاستكشاف مناطق مجهولة وتجربة أفكار جديدة وتحويل كل ما يدور بخيالنا لأفكار واقعية، ما يعد بمستقبل لا يعرف فيه الابتكار حدودًا.
</p>

<h2 id="-14">
	تبني ثورة الذكاء الاصطناعي
</h2>

<p>
	في ختام مقالتنا عن أهمية الذكاء الاصطناعي، يصبح من الواضح أن تبني ثورة الذكاء الاصطناعي ليس مجرد خيار، بل هي ضرورة للأفراد والمجتمعات على حد سواء. فتبني الذكاء الصناعي يعني تبني التغيير والتكيف مع التطور التكنولوجي والتعرّف على الإمكانات المذهلة التي يحملها الذكاء الصناعي. ومن خلال فهم قدراته ومحدوياته يمكننا تسخير قوته لخلق مستقبل أفضل. واعتماد الذكاء الصناعي ينطوي على تحوّل في عقليتنا وتفكيرنا، والاعتراف بأن التقنية هي أداة يمكنها حل المشكلات المعقدة وتحسين حياتنا شريطة استخدامها بشكل مسؤول.
</p>

<p>
	وأنت كقارئ وعضو في المجتمع، تلعب دورًا هامًا في تشكيل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%d9%85%d8%b3%d8%aa%d9%82%d8%a8%d9%84-%d8%a7%d9%84%d8%b0%d9%83%d8%a7%d8%a1-%d8%a7%d9%84%d8%a7%d8%b5%d8%b7%d9%86%d8%a7%d8%b9%d9%8a/" rel="">مستقبل الذكاء الاصطناعي</a>، وينبغي أن تبقى على اطلاع دائم بتطورات الذكاء الاصطناعي، وتطرح الأسئلة حوله وتشارك في المناقشات حول آثاره المجتمعية وتشجّع التعليم والوعي حول الذكاء الصناعي في مجتمعك.
</p>

<h2 id="-17">
	أفكار أخيرة حول أهمية الذكاء الاصطناعي
</h2>

<p>
	في هذا النسيج الكبير للتقدم البشري المُمتد على مليارات السنين، يعد الذكاء الاصطناعي خيطًا جديدًا ينسج طريقه إلى كل جانب من جوانب حياتنا. فهو لم يعد مفهومًا بعيدًا ولكنه أصبح واقعًا حاليًّا يؤثر على خياراتنا ويدفع الابتكار ويحل التحديات التي كانت تعتبر في السابق مستحيلة الحل، وبينما نمضي قدمًا، دعونا نتعامل مع الذكاء الصناعي بتوازن بين الحماس والمسؤولية. ومن خلال القيام بذلك، يمكننا إطلاق العنان لإمكاناته الكاملة.
</p>

<p>
	في الختام، تذكر أن أهمية الذكاء الاصطناعي تتجاوز مجالات التقينة وتؤثر على كل مجالات الحياة وعلينا أن نتقبل ثورة الذكاء الصناعي بعقل متفتح وقلب مفعم بالأمل ونأمل أنها ستجعل مستقبلنا أكثر إشراقًا.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/" rel="">أساسيات الذكاء الاصطناعي: دليل المبتدئين</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مجالات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مكتبات وأطر عمل الذكاء الاصطناعي: القوة الكامنة خلف الأنظمة الذكية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%81%D9%88%D8%A7%D8%A6%D8%AF-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2247/" rel="">فوائد الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2243</guid><pubDate>Wed, 14 Feb 2024 12:08:00 +0000</pubDate></item><item><title>&#x627;&#x633;&#x62A;&#x62E;&#x62F;&#x627;&#x645; &#x627;&#x644;&#x646;&#x645;&#x627;&#x630;&#x62C; &#x627;&#x644;&#x62A;&#x648;&#x644;&#x64A;&#x62F;&#x64A;&#x651;&#x629; Generative models &#x644;&#x62A;&#x648;&#x644;&#x64A;&#x62F; &#x627;&#x644;&#x635;&#x648;&#x631;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A7%D9%84%D9%86%D9%85%D8%A7%D8%B0%D8%AC-%D8%A7%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF%D9%8A%D9%91%D8%A9-generative-models-%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF-%D8%A7%D9%84%D8%B5%D9%88%D8%B1-r2240/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/---Generative-models--.png.8f6d00506d7a0458da8aa38b5ffe9434.png" /></p>
<p>
	لاشك أن المجتمع اليوم مفتون بشدة ب<span ipsnoautolink="true">الذكاء الاصطناعي</span><span style="display: none;">         </span>، خاصةً مع التقدم الأخير في معالجة اللغات الطبيعية NLP والذكاء الاصطناعي التوليدي Generative AI. إذ تُبشّر هذه التقنيات المتطورة بتحسين الإنتاجية اليومية كثيرًا في مجموعة واسعة من المهام. على سبيل المثال، يساعد <a href="https://github.com/features/copilot" rel="external nofollow">غيت هاب كوبايلوت GitHub Copilot</a> المطورين على برمجة خوارزميات كاملة بسرعة، وينتج <a href="https://otter.ai/" rel="external nofollow">أوتر بايلوت OtterPilot</a> تلقائيًّا ملاحظات الاجتماع للمدراء التنفيذيين، ويمكّن <a href="https://www.mixo.io/?via=elisa&amp;gclid=CjwKCAjw__ihBhADEiwAXEazJkG7ozi9SjcTEyyqtKyCSPtERhwdAXNW68yfyaKSSM2-Fl66R9QCxRoCgF4QAvD_BwE" rel="external nofollow">ميكسو Mixo</a> رواد الأعمال من إطلاق مواقع الويب بسرعة.
</p>

<p>
	ستوفر هذه المقالة مقدمة موجزة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A7%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF%D9%8A-generative-ai-r2234/" rel="">للذكاء الاصطناعي التوليدي</a>، مع عرض أمثلة ذات صلة بتقنية <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الاصطناعي</a>. بعد ذلك، تُطبّق المقالة المفاهيم النظرية المتعلقة بالذكاء الاصطناعي التوليدي، من خلال إنشاء عروض فنية باستخدام نماذج GPT ونماذج الانتشار diffusion models.
</p>

<p>
	تعرض الصورة التالية مجموعة صور لمؤلف المقال، وقد أُنشئت جميع هذه الصور بواسطة الذكاء الاصطناعي باستخدام التقنيات البرمجية التي سنتطرّق عليها في هذه المقالة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="143116" href="https://academy.hsoub.com/uploads/monthly_2024_02/1.png.2e49827b4fa9c833dfbb4ab96110d5d6.png" rel=""><img alt="1" class="ipsImage ipsImage_thumbnailed" data-fileid="143116" data-ratio="64.17" data-unique="1at4eoqtx" style="width: 600px; height: auto;" width="600" src="https://academy.hsoub.com/uploads/monthly_2024_02/1.png.2e49827b4fa9c833dfbb4ab96110d5d6.png"> </a>
</p>

<h2 id="">
	نظرة عامة موجزة عن الذكاء الاصطناعي التوليدي
</h2>

<p>
	<strong>ملاحظة:</strong> إذا كنت على دراية بمصطلحات الذكاء الاصطناعي التوليدي، فيمكنك تجاوز هذه الفقرة والانتقال للفقرة التالية مباشرة.
</p>

<p>
	شهد السوق في عام 2022 إدخال العديد من النماذج الأساسية Foundational models، وأصبحت متوفرة للاستخدام والتطوير، وهذا ما أدى إلى دفع عجلة تقدم الذكاء الاصطناعي في قطاعات متنوعة. يُعد الفهم الواضح للمفاهيم الأساسية المرتبطة بهذه النماذج أمرًا محوريًا لتعريفها:
</p>

<ul>
	<li>
		<strong>ا<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/" rel="">لذكاء الاصطناعي</a></strong>: هو مصطلح واسع يشمل البرمجيات القادرة على تنفيذ المهام بذكاء.
	</li>
	<li>
		<strong><a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">التعلم الآلي</a></strong><span>:</span> هو فرع من الذكاء الاصطناعي، يستخدم خوارزميات يُمكنها أن تتعلّم من البيانات.
	</li>
	<li>
		<strong><a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%B4%D8%A8%D9%83%D8%A9-%D8%B9%D8%B5%D8%A8%D9%8A%D8%A9-%D8%B5%D9%86%D8%B9%D9%8A%D8%A9-%D9%88%D8%AA%D8%AF%D8%B1%D9%8A%D8%A8%D9%87%D8%A7-%D9%84%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%AC%D9%88%D9%87-r1198/" rel="">الشبكات العصبية</a></strong><span>:</span> هي فرع من التعلّم الآلي، تستخدم طبقات تحتوي عُقدًا Nodes (أو تُسمّى خلايا)، وهي مستوحاة من فكرة خلايا الدماغ البشري.
	</li>
	<li>
		<strong>الشبكات العصبية العميقة</strong>: تُمثل شكلاً متقدمًا من الشبكات العصبية،فهي تتضمّن عددًا أكبر من الطبقات (أكثر عمقًا).
	</li>
</ul>

<p>
	النموذج الأساسي عبارة عن شبكة عصبية عميقة مدربة على كميات هائلة من البيانات الخام Raw data. ومن الناحية العملية، يعد النموذج الأساسي نوعًا ناجحًا للغاية من الذكاء الاصطناعي يمكنه التكيّف بسهولة وإنجاز المهام المختلفة. فالنماذج الأساسية هي جوهر الذكاء الاصطناعي التوليدي: تُعد نماذج اللغة Language models المولّدة للنص مثل GPT ونماذج الانتشار المولدة للصور نماذج أساسية.
</p>

<p>
	يعتمد الذكاء الاصطناعي التوليدي، الذي يشمل مولدات النصوص مثل GPT ومولدات الصور مثل نماذج الانتشار، على هذه النماذج الأساسية.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="nlp">
	النص: نماذج معالجة اللغة الطبيعية NLP
</h2>

<p>
	في سياق نماذج الذكاء الاصطناعي التوليدي، تُدرّب نماذج معالجة اللغة الطبيعية على إنتاج نص يبدو كما لو كان قد أُنشئ بواسطة إنسان، وتعد النماذج اللغوية الكبيرة Large Language Models (اختصارًا LLMs) التي تتميّز بضخامتها، أساسًا لأنظمة الذكاء الاصطناعي في الوقت الحالي، فغالبًا ما تُصنّف النماذج اللغوية الكبيرة بناءً على كميات البيانات التي تستخدمها، ويمكنها فهم النصوص وتوليدها أيضًا.
</p>

<p>
	يمكن أن تكون هذه النماذج مساعدة في الكتابة أو حتى البرمجة. تتضمن تطبيقات معالجة اللغة الطبيعية إعادة صياغة المفاهيم المعقدة ببساطة وترجمة النصوص وصياغة الوثائق القانونية وحتى إعداد خطط التمارين الرياضية (على الرغم من وجود بعض القيود في مثل هذا الاستخدام).
</p>

<p>
	على سبيل المثال، ليكس Lex هي أداة NLP تُستخدم للكتابة، وهي ذات وظائف متعددة من بينها اقتراح العناوين وإكمال الجمل وصياغة فقرات كاملة حول موضوع معين. وأحد أشهر هذه النماذج حاليًا هو <a href="https://academy.hsoub.com/apps/web/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D8%A7%D8%AF%D8%AB%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D9%8A-%D8%B4%D8%A7%D8%AA-%D8%AC%D9%8A-%D8%A8%D9%8A-%D8%AA%D9%8A-chatgpt-r863/" rel="">GPT</a> الذي طورته شركة OpenAI. حيث يمكن لنموذج GPT الرد على أي سؤال أو أمر تقريبًا في غضون ثوان مع دقة عالية. تتوفر نماذج OpenAI المتنوعة من خلال <a href="https://platform.openai.com/docs/models/models" rel="external nofollow">واجهة برمجة تطبيقات واحدة</a>. يمكن لهذا النموذج فعل العديد من الأشياء خلافًا لليكس المحدود بمهام معينة، حيث يمكنه العمل مع الشيفرات البرمجية واقتراح حلول برمجية تلبي المتطلبات الوظيفية المحددة والتعرف على مشاكل الشيفرات البرمجية لتسهيل الأمور على المطورين إلى حد كبير.
</p>

<h2 id="-1">
	الصور: نماذج الانتشار
</h2>

<p>
	يتضمن نموذج الانتشار Diffusion Model ضمن عالم الشبكات العصبية العميقة، متغيرات كامنة لديها القدرة على فهم البنية الأساسية للصورة المقدمة عن طريق إزالة أي ضبابية أو ضوضاء. بمجرد تدريب شبكة النموذج على فهم التجريد المفاهيمي داخل الصورة، فإنها تكتسب القدرة على توليد أشكال مختلفة جديدة من تلك الصورة. للتوضيح، عند إزالة التشويش من صورة تُظهر قطة، يُدرك نموذج الانتشار بصريًا تصويرًا واضحًا للقطط ويتعلم خصائصها البصرية ويستخدم هذه المعرفة المكتسبة لإنتاج أشكال متنوعة من صور القطط.
</p>

<p>
	يمكن استخدام نماذج الانتشار لتقليل الضوضاء أو زيادة حدة الصور (تعزيزها وتنقيتها)، أو معالجة تعابير الوجه أو إنشاء صور تظهر فيها علامات شيخوخة الوجه لاقتراح الشكل الذي قد يبدو عليه الشخص بمرور الوقت. يمكنك تصفح محرك بحث <a href="https://lexica.art/" rel="external nofollow">ليكسكا Lexica</a> لمشاهدة قدرات نماذج الذكاء الاصطناعي هذه عندما يتعلق الأمر بإنشاء صور جديدة.
</p>

<h2 id="gpt">
	البرنامج التعليمي: استخدام نموذج انتشار ونموذج GPT
</h2>

<p>
	لتوضيح كيفية استخدام هذه التقنيات، دعونا نُنشئ صور رسوم متحركة (أو صور أنمي Anime) باستخدام نموذج نشر و GPT من خلال <a href="https://huggingface.co/" rel="external nofollow">مكتبة HuggingFace</a>. لا يتطلب الأمر أيّة بُنى تحتية أو كتابة شيّفرات برمجيّة معقدة، حيث أننا سنبدأ بنموذج انتشار جاهز للاستخدام (أي نموذج جاهز مُدرّب مسبقًا) ونحتاج فقط إلى تحسينه (أو بمعنى أدق "تكييفه" مع ما نحتاج، وفي حالتنا إنشاء صور إنمي لأنفسنا).
</p>

<p>
	<strong>ملاحظة:</strong> تشرح هذه المقالة كيفية استخدام نماذج الذكاء الاصطناعي التوليدية ونماذج اللغة لإنشاء صور عالية الجودة لنفسك بأساليب مثيرة للاهتمام، ولا ينبغي إساءة استخدام المعلومات الواردة في هذه المقالة لإنشاء صور مزيفة بشكل ينتهك <a href="https://research.google.com/colaboratory/faq.html" rel="external nofollow">شروط استخدام Google Collaboratory</a>.
</p>

<h3 id="-2">
	متطلبات الإعداد والصور
</h3>

<p>
	قبل الاستمرار، لابد أن يكون لديك:
</p>

<ul>
	<li>
		<a href="https://www.google.com/account/about/" rel="external nofollow">حساب جوجل</a>، من أجل استخدام جوجل درايف وكولاب Colab.
	</li>
	<li>
		حساب على <a href="https://beta.openai.com/account/api-keys" rel="external nofollow">OpenAI</a>، من أجل إمكانية الوصول إلى واجهة برمجة التطبيقات الخاصة بنموذج GPT لإرسال الأوامر إليه.
	</li>
</ul>

<p>
	ستحتاج أيضًا إلى 20 صورة لنفسك - أو أكثر لتحسين الأداء - محفوظة على الجهاز الذي تخطط لاستخدامه تطبيق المعلومات الواردة في هذا المقال . للحصول على أفضل النتائج، يجب أن تحقق الصور الشروط التالية:
</p>

<ul>
	<li>
		ألا نقل أعاد الصورة عن 512 × 512 بكسل.
	</li>
	<li>
		أن تكون موجودًا وحدك في الصورة.
	</li>
	<li>
		أن تكون جميعها بنفس التنسيق على سبيل المثال، بتنسيق JPEG أو PNG لتحقيق الاتساق.
	</li>
	<li>
		أن تؤخذ من زوايا مختلفة.
	</li>
	<li>
		يجب أن تتضمّن ثلاث إلى خمس صور لكامل الجسم واثنتين إلى ثلاث للجزء الأوسط من الجسم كحد أدنى. يجب أن يكون الباقي صورًا للوجه.
	</li>
</ul>

<p>
	لا يلزم أن تكون الصور مثالية، فقد يكون من المفيد معرفة مدى تأثير الانحراف عن هذه المتطلبات على المخرجات.
</p>

<h3 id="huggingface">
	توليد الصور بالذكاء الاصطناعي باستخدام نموذج انتشار من مكتبة HuggingFace
</h3>

<p>
	للبدء، افتح <a href="https://colab.research.google.com/github/jmanuoz/gpt3andDM/blob/main/notebook.ipynb" rel="external nofollow">ملف جوجل كولاب Google Colab</a> المصاحب لهذا البرنامج التعليمي، والذي يحتوي على الشيفرة البرمجية المطلوبة.
</p>

<ol>
	<li>
		شغّل الخليّة الأولى لربط ملف كولاب بجوجل درايف Google Drive لتخزين النموذج وحفظ الصور التي نُنشئها لاحقًا.
	</li>
	<li>
		شغّل الخليّة الثانية لتثبيت التبعيات المطلوبة.
	</li>
	<li>
		شغّل الخليّة الثالثة لتنزيل نموذج الانتشار من HuggingFace.
	</li>
	<li>
		اكتب في الخليّة الرابعة "كيف أبدو" <code>How I Look</code> (اكتبها باللغة الإنجليزية) في حقل اسم الجلسة <code>Session_Name</code>، ثم شغّل الخليّة. يحدد اسم الجلسة عادةً المفهوم الذي سوف يتعلمه النموذج.
	</li>
	<li>
		شغّل الخليّة الخامسة وحمّل صورك.
	</li>
	<li>
		انتقل إلى الخليّة السادسة لتدريب النموذج. اضبط الخيار <code>Resume_Training</code> على <code>True</code> قبل تشغيّل الخليّة، حيث يمكنك تكييف نموذج الانتشار المُستخدم عدة مرات، من خلال تدريبه على عينات بيانات تخدم أغراض محددة. قد تستغرق هذه الخطوة حوالي ساعة حتى تكتمل.
	</li>
	<li>
		أخيرًا، شغّل الخليّة السابعة لاختبار النموذج الخاص بك ومشاهدته أثناء العمل. سيقوم النظام بعرض عنوان URL، حيث ستجد واجهة تُمكّنك من إنتاج صورك. من خلال هذه الواجهة يمكنك إدخال أمر، ثم اضغط على زر الإنشاء "Create" لعرض الصور.
	</li>
</ol>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="143117" href="https://academy.hsoub.com/uploads/monthly_2024_02/2.png.66116c59eca105dcb7e9f2b132a9d966.png" rel=""><img alt="2" class="ipsImage ipsImage_thumbnailed" data-fileid="143117" data-unique="6qzyy1ut4" style="width: 600px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2024_02/2.thumb.png.b770cc2924c2486beeed796b752b1147.png"> </a>
</p>

<p>
	بعد اكتمال تدريب النموذج، يُمكننا الآن تجربة العديد من الأوامر التي تُنتج أنماطًا بصرية مختلفة (على سبيل المثال، يمكنك أن تجرب "أنا كشخصية متحركة me as an animated character" أو "أنا كلوحة انطباعية me as an impressionist painting").
</p>

<p>
	هذه النماذج حساسة للأوامر، أي أنها تُعطي نتائج مُختلفة لأوامر لها نفس المعنى، لكن مكتوبة بطريقة مختلفة (لهذا السبب ظهر مؤخرًا مُسمّى هندسي جديد اسمه <strong>هندسة النصوص المُدخَلة Prompt engineering</strong>. ويُعد استخدام GPT لمساعدتنا في صياغة الأوامر فكرة رائعة، لأنه يوفر تفاصيل إضافية أدق من تلك التي يُنشئها المستخدم عمومًا، بالتالي يزيد من جودة نتائج نموذجنا.
</p>

<h3 id="gpt-1">
	تحسين مدخلات نموذج الانتشار: تعزيز الفعاليّة باستخدام GPT
</h3>

<p>
	سنضيف GPT إلى خط المعالجة الخاص بنا عبر مكتبة مخصصة توفرها OpenAI، على الرغم من وجود خيارات أخرى توفر وظائف مماثلة لخدمة أهدافنا، لكن بالطبع GPT هو أفضل نموذج موجود حاليًّا لهكذا أهداف. بدايةً عليك التسجيل على منصة OpenAI وإنشاء مفتاح واجهة برمجة التطبيق <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> key خاص بك. الآن، في قسم "إنشاء أوامر جيدة Generating good prompts" في ملف كولاب الذي نعمل عليه، ثبّت مكتبة OpenAI:
</p>

<pre class="ipsCode">pip install openai
</pre>

<p>
	حمّل بعد ذلك المكتبة وأسند مفتاح <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> الخاص بك:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_3289_8" style=""><span class="kwd">import</span><span class="pln"> openai
openai</span><span class="pun">.</span><span class="pln">api_key </span><span class="pun">=</span><span class="pln"> </span><span class="str">"YOUR_API_KEY"</span></pre>

<p>
	سننتج أوامر محسّنة من خلال نموذج GPT من أجل إنشاء صورنا بأسلوب شخصيات الأنيمي. ما عليك سوى استبدال 'YOUR_SESSION_NAME' باسم الجلسة الذي حددته في الخلية 4 من الملف، والذي يجب أن يكون "كيف أبدو" <code>How I Look</code>.
</p>

<pre class="ipsCode">ASKING_TO_GPT = 'Write a prompt to feed a diffusion model to generate beautiful images '\
                'of YOUR_SESSION_NAME styled as an anime character.' 
response = openai.Completion.create(model="text-davinci-003", prompt=ASKING_TO_GPT,
                                    temperature=0, max_tokens=1000)
print(response["choices"][0].text)
</pre>

<p>
	تتراوح درجة الحرارة <code>temperature</code> بين القيمة 0 و 2، وهي تحدد ما إذا كان يجب على النموذج الالتزام الصارم بالبيانات التي تدرّب عليها (نمرر في هذه الحالة قيم قريبة من 0)، أو أن يكون أكثر إبداعًا في مخرجاته (نمرر في هذه الحالة قيم قريبة من 2). وتحدد المعلمة <code>max_tokens</code> عدد الوحدات النصيّة الأعظمي الذي يمكن إنشاؤه، حيث أن الوحدة النصيّة قد تكون رقمًا أو رمزًا أو حرفًا أو كلمة أو جزء من كلمة.
</p>

<p>
	سيكون الخرج كما يلي (تجدر الملاحظة إلى أن هذا الخرج قد يتغير عندما تُجرّب تنفيذ الشيفرة بنفسك):
</p>

<pre class="ipsCode">"Juan is styled as an anime character, with large, expressive eyes and a small, delicate mouth.
His hair is spiked up and back, and he wears a simple, yet stylish, outfit. He is the perfect
example of a hero, and he always manages to look his best, no matter the situation."
</pre>

<p>
	أخيرًا، من خلال تمرير هذا النص كمُدخل في نموذج الانتشار، يكون الخرج كما يلي:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="143118" href="https://academy.hsoub.com/uploads/monthly_2024_02/3.png.003fbf5fd4511dd88ec4f43e769fcc98.png" rel=""><img alt="3" class="ipsImage ipsImage_thumbnailed" data-fileid="143118" data-ratio="62.50" data-unique="c0bqmqwbf" style="width: 600px; height: auto;" width="600" src="https://academy.hsoub.com/uploads/monthly_2024_02/3.thumb.png.05c1efe1bb3349125f87eaf163363d21.png"> </a>
</p>

<p>
	إن استخدام نموذج GPT لصياغة النصوص المدخلة إلى نموذج النشر يُلغي الحاجة إلى النظر بعناية في الفروق الدقيقة في مظهر شخصية الأنمي -يمكن لنموذج GPT إنشاء وصف مناسب نيابة عنك. ومن خلال GPT سيكون لديك المرونة اللازمة لتحسين الأوامر بناءً على تفضيلاتك. والآن بعد أن أكملت هذا البرنامج التعليمي، سيكون بإمكانك الآن إنشاء صور معقدة ومبتكرة، سواء كانت لنفسك أو لأي مفهوم ترغب فيه.
</p>

<h2 id="-3">
	مزايا الذكاء الاصطناعي بين يديك
</h2>

<p>
	تُعد نماذج GPT ونماذج الانتشار من التطبيقات الحديثة الأساسية للذكاء الاصطناعي. وقد تعلمت في هذا المقال كيفيّة تطبيق إحدى نماذج الانتشار، ثم كيفيّة تحسين مخرجاته عن طريق استخدام خرج نموذج GPT كمدخل لنموذج الانتشار. وبذلك تكون قد أنشأت خط معالجة من نموذجين لغويين كبيرين للاستفادة بأقصى حد منهما.
</p>

<p>
	تؤثر تقنيات الذكاء الاصطناعي هذه على حياتنا بعُمق، ويتوقع كثيرون أن تؤثر النماذج اللغوية الكبيرة جذريًّا على سوق العمل في مجموعة متنوعة من المهن وتساعد على أتمتة مهام معينة وإعادة تشكيل الأدوار المهنيّة الحالية. وعلى الرغم من أننا لا نستطيع التنبؤ بالمستقبل، إلا أنه لا جدال في أن الفرص ستتاح مسبقلًا للذين يستفيدون بذكاء من تقنيات معالجة اللغة الطبيعية NLP والذكاء الاصطناعي التوليدي لتحسين عملهم وإنتاجياتهم من أولئك الذين الذين لا يفعلون.
</p>

<p>
	ترجمة -وبتصرُّف- للمقال <a href="https://www.toptal.com/artificial-intelligence/advantages-of-ai-gpt-image-generation" rel="external nofollow">Advantages of AI: Using GPT and Diffusion Models for Image Generation</a> لصاحبه Juan Manuel Ortiz de Zarate.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مكتبات وأطر عمل الذكاء الاصطناعي: القوة الكامنة خلف الأنظمة الذكية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%85%D8%B1%D8%A7%D8%AD%D9%84-%D8%A7%D9%84%D8%A8%D8%AF%D8%A1-%D9%88%D8%A7%D9%84%D8%AA%D8%B7%D9%88%D8%B1-%D9%88%D8%A7%D9%84%D8%A3%D8%B3%D8%B3-%D8%A7%D9%84%D8%AA%D9%8A-%D9%86%D8%B4%D8%A3-%D8%B9%D9%84%D9%8A%D9%87%D8%A7-r988/" rel="">الذكاء الاصطناعي: مراحل البدء والتطور والأسس التي نشأ عليها</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تعلم الذكاء الاصطناعي</a>
	</li>
</ul>

<p>
	 
</p>
]]></description><guid isPermaLink="false">2240</guid><pubDate>Fri, 09 Feb 2024 12:03:01 +0000</pubDate></item><item><title>&#x623;&#x633;&#x627;&#x633;&#x64A;&#x627;&#x62A; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;: &#x62F;&#x644;&#x64A;&#x644; &#x627;&#x644;&#x645;&#x628;&#x62A;&#x62F;&#x626;&#x64A;&#x646;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-r2239/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_02/1397495442_.png.ea0f8332c6d819cdd823ec8f1d810250.png" /></p>
<p>
	يعد <span ipsnoautolink="true">الذكاء الاصطناعي</span> Artificial Intelligence مجالًا حديثًا يُحدث تغييرًا في الطريقة التي نعيش ونعمل ونتفاعل بها مع العالم والتكنولوجيا. إن فهم أساسيات الذكاء الاصطناعي في هذا العصر الذي يتسم بالتطورات المذهلة والتحوّل الرقمي والتقدّم الذي يحدث بسرعة الضوء -ليس مجرد خيار؛ إنه ضرورة.
</p>

<p>
	يدور الذكاء الاصطناعي في جوهره حول إنشاء آلات ذكية يمكنها أداء المهام التي تتطلب عادةً الذكاء البشري. يمكن أن تكون هذه المهام متعلقة بمواضيع مثل التعرّف على الكلام وفهم اللغة البشرية وحل المشكلات وحتى التنبؤ بالأحداث المستقبلية كحالة الطقس أو حدوث الكوارث. لقد صُممت أنظمة الذكاء الاصطناعي للتعلم من البيانات، مما يسمح لها بتحسين أدائها بمرور الوقت دون الحاجة إلى برمجة صريحة. تخيل عالمًا تتمكّن فيه أجهزة الحاسب من الفهم والتعلم من الخبرات والتكيف مع المعلومات الجديدة -هذا هو جوهر الذكاء الاصطناعي.
</p>

<p>
	سواء كنت مهتمًا بمفهوم الآلات التي يمكنها التعلّم واتخاذ القرارات مثل البشر أو كنت مهتمًا ببساطة بالتكنولوجيا التي تعمل على تشغيل <a href="https://ar.wikipedia.org/wiki/%D9%85%D8%B3%D8%A7%D8%B9%D8%AF_%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A" rel="external nofollow">المساعدين الصوتيين</a> و<a href="https://ar.wikipedia.org/wiki/%D9%85%D8%B1%D9%83%D8%A8%D8%A9_%D8%B0%D8%A7%D8%AA%D9%8A%D8%A9_%D8%A7%D9%84%D9%82%D9%8A%D8%A7%D8%AF%D8%A9" rel="external nofollow">السيارات ذاتية القيادة</a> وغيرهم الكثير، فإن هذه الرحلة إلى أساسيات الذكاء الاصطناعي مصممة خصيصًا لك. إننا نزيل فيها الغموض عن التعقيدات المحيطة بالذكاء الاصطناعي ونقسّم المفاهيم المعقدة إلى أجزاء بسيطة وسهلة.
</p>

<h2 id="">
	ما هو الذكاء الاصطناعي؟
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="143111" href="https://academy.hsoub.com/uploads/monthly_2024_02/171637488_.png.9ea3315e49666a3e549e82436d5852bf.png" rel=""><img alt="أساسيات الذكاء الاصطناعي دليل المبتدئين.png" class="ipsImage ipsImage_thumbnailed" data-fileid="143111" data-ratio="62.50" data-unique="lfje67etl" style="width: 400px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2024_02/.thumb.png.ee4462504436371ba39b7aebb465b6e3.png"></a>
</p>

<p>
	<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الصناعي</a> هو فرع من فروع <a href="https://academy.hsoub.com/programming/general/%D8%B9%D9%84%D9%88%D9%85-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8/" rel="">علوم الحاسوب</a> يركز على إنشاء آلات ذكية قادرة على أداء المهام التي تتطلب عادةً الذكاء البشري. وتشمل هذه المهام التعلم والتفكير وحل المشكلات وفهم اللغة البشرية والتعرف على الكلام ..إلخ. يُمكّن الذكاء الصناعي في جوهره الآلات من محاكاة الوظائف المعرفيّة البشريّة. صُمّمت أنظمة الذكاء الصناعي لتحليل وتفسير البيانات المعقدة والتكيف مع البيئات المتغيرة وتحسين أدائها بمرور الوقت، كل ذلك دون تدخل بشري. إذًا الهدف من الذكاء الصناعي هو تطوير آلات يمكنها التفكير والتعلم مثل البشر وإظهار سمات مثل الإدراك والتفكير واتخاذ القرار.
</p>

<p>
	هناك نوعان رئيسيان من الذكاء الصناعي:
</p>

<ol>
	<li>
		<p>
			<strong>الذكاء الصناعي الضيق أو الضعيف Narrow or Weak AI:</strong> تم تصميم هذا النوع من الذكاء الصناعي لأداء مهمة محددة أو نطاق ضيق من المهام. وهي تعمل في ظل مجموعة من الشروط المحددة مسبقًا وغير قادرة على تعميم معرفتها على مجالات أخرى. تشمل الأمثلة الأشهر المساعدين الافتراضيين مثل <a href="https://ar.wikipedia.org/wiki/%D8%B3%D9%8A%D8%B1%D9%8A" rel="external nofollow">سيري Siri</a> و<a href="https://ar.wikipedia.org/wiki/%D8%A3%D9%85%D8%A7%D8%B2%D9%88%D9%86_%D8%A3%D9%84%D9%8A%D9%83%D8%B3%D8%A7" rel="external nofollow">أليكسا Alexa</a>، بالإضافة إلى خوارزميات التوصية التي تستخدمها مواقع الويب مثل اليوتيوب أو الفيس بوك أو أمازون أو نصات التجارة الإلكترونية ..إلخ.
		</p>
	</li>
	<li>
		<p>
			<strong>الذكاء الاصطناعي العام أو القوي General or Strong AI:</strong> يشير الذكاء الاصطناعي العام إلى آلة تتمتع بالقدرة على الفهم والتعلم وتطبيق المعرفة بطريقة لا يمكن تمييزها عن الذكاء البشري. يظل هذا المستوى من الذكاء الاصطناعي نظريًا ويخضع للبحث والاستكشاف المستمر.
		</p>
	</li>
</ol>

<p>
	يمكنك قراءة المزيد من التفاصيل عن أنواع الذكاء الاصطناعي <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">هنا</a>.
</p>

<h2 id="-1">
	تاريخ وتطور الذكاء الاصطناعي
</h2>

<p>
	إن تاريخ الذكاء الصناعي هو رحلة مثيرة للاهتمام تمتد على مدى عدة عقود وتتميز بمعالم هامة واختراقات وتحولات نموذجية في فهمنا للآلات الذكية. نتعمق هنا في كيفية تطور الذكاء الصناعي من المفاهيم النظرية إلى التقنيات التحويلية.
</p>

<h3 id="-2">
	ولادة الذكاء الاصطناعي: الخمسينيات والستينيات
</h3>

<p>
	تمت صياغة مصطلح "الذكاء الاصطناعي" في منتصف القرن العشرين، مما وضع الأساس لمجال جديد من الأبحاث. في تلك الفترة، اقترح علماء رائدون مثل آلان تورينج وجون مكارثي فكرة الآلات التي يمكنها محاكاة الذكاء البشري. ذهب مكارثي لتنظيم مؤتمر دارتموث في عام 1956، والذي اعتبر على نطاق واسع ولادة الذكاء الاصطناعي كنظام أكاديمي.
</p>

<h3 id="-3">
	شتاء الذكاء الاصطناعي: السبعينيات والثمانينيات
</h3>

<p>
	خلال فترة "شتاء الذكاء الاصطناعي" التي امتدت من الستينيات حتى منتصف الثمانينيات، واجهت صناعة الذكاء الاصطناعي العديد من التحديات الرئيسية. كانت التكنولوجيا المتاحة في ذلك الوقت غير كافية لدعم تطوير الذكاء الاصطناعي بالطريقة المطلوبة، حيث كانت الحواسيب والمعالجات بطيئة وضعيفة في الأداء، مما حد من إمكانية تطوير تقنيات الذكاء الاصطناعي المتقدمة. بالإضافة إلى ذلك، كانت هناك توقعات متفائلة جدًا غير واقعية بخصوص قدرة الآلات على فهم اللغة والتعلم تلقائيًا بشكل سريع، وهو ما كان صعب المنال في ظل الوضع التكنولوجي في ذلك الوقت. كما تعثرت الكثير من المشاريع البحثية والتطويرية في هذا المجال بسبب نقص التمويل، حيث لم تكن الحكومات والشركات مستعدة للاستثمار بشكل كبير في هذا المجال بسبب عدم رؤية العائد المالي الفوري. ولم يكن هناك كمية كافية من البيانات المتاحة لتدريب النماذج الذكية بفعالية، مما قيد إمكانية تطوير النماذج الذكية.
</p>

<h3 id="-4">
	ظهور الأنظمة الخبيرة: الثمانينات
</h3>

<p>
	لقد تحققت خلال شتاء الذكاء الاصطناعي الكثير من التطورات في مايسمى الأنظمة الخبيرة أو المتخصصة Expert systems، وهي عبارة عن برامج ذكاء اصطناعي مصممة لتقليد الخبرة البشرية في مجالات محددة. وقد وجدت هذه الأنظمة تطبيقات عديدة في مجالات مثل الطب والتمويل، مما أدى إلى تجديد الاهتمام بأبحاث الذكاء الاصطناعي.
</p>

<h3 id="-5">
	عودة التعلم الآلي: التسعينيات إلى العقد الأول من القرن الحادي والعشرين
</h3>

<p>
	شهد أواخر القرن العشرين عودة ظهور الذكاء الصناعي مدفوعًا بالتقدم في خوارزميات التعلم الآلي. بدأ الباحثون في تطوير تقنيات تُسمى الشبكات العصبية (المستوحاة من بنية الدماغ البشري) والنماذج الإحصائية التي يمكنها التعلم من البيانات. كانت هذه الفترة بمثابة بداية التطبيقات العملية للذكاء الاصطناعي، بما في ذلك <a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B9%D8%B1%D9%81_%D8%B9%D9%84%D9%89_%D8%A7%D9%84%D9%83%D9%84%D8%A7%D9%85" rel="external nofollow">التعرّف على الكلام</a> و<a href="https://ar.wikipedia.org/wiki/%D8%AA%D9%86%D9%82%D9%8A%D8%A8_%D9%81%D9%8A_%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA" rel="external nofollow">التنقيب في البيانات</a>.
</p>

<h3 id="2010">
	ثورة التعلم العميق: 2010 إلى الوقت الحاضر
</h3>

<p>
	شهد العقد الأول من القرن الحادي والعشرين قفزة ملحوظة إلى الأمام مع ظهور تقنيات تدعى تقنيات <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D9%84%D9%81%D9%87%D9%85-%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%82-r1422/" rel="">التعلم العميق</a> التي مكنت أنظمة الذكاء الصناعي من معالجة كميات هائلة من البيانات وحل المهام المعقدة. شهد هذا العصر اختراقات في التعرف على الصور ومعالجة اللغات الطبيعية (اللغة البشرية) والأنظمة المستقلة Autonomous systems مما أدى إلى تحوّل في الصناعات والحياة اليومية.
</p>

<h3 id="-6">
	المشهد الحالي والآفاق المستقبلية
</h3>

<p>
	يعد الذكاء الصناعي اليوم جزءًا لا يتجزأ من مختلف القطاعات، بما في ذلك الرعاية الصحية والتمويل والنقل والترفيه والتجارة والألعاب والإعلام وكل شيء تقريبًا. يمكنك الاطلاع على مقالة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مستقبل الذكاء الاصطناعي</a> للحصول على استشرافٍ أوسع لقدرات الذكاء الصناعي الممكنة في والمستقبل.
</p>

<p>
	إن تاريخ الذكاء الصناعي وتطوره لا يعكس التقدم التكنولوجي فحسب، بل يعكس أيضًا مرونة العقل البشري وإبداعه. إن استمرار الذكاء الصناعي في التطور يحمل وعدًا بإحداث ثورة في الصناعات وحل التحديات العالمية وزيادة الإمكانات البشرية بطرق لم يكن من الممكن تصورها من قبل، ويمكن أن تجد مزيد من التفاصيل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%85%D8%B1%D8%A7%D8%AD%D9%84-%D8%A7%D9%84%D8%A8%D8%AF%D8%A1-%D9%88%D8%A7%D9%84%D8%AA%D8%B7%D9%88%D8%B1-%D9%88%D8%A7%D9%84%D8%A3%D8%B3%D8%B3-%D8%A7%D9%84%D8%AA%D9%8A-%D9%86%D8%B4%D8%A3-%D8%B9%D9%84%D9%8A%D9%87%D8%A7-r988/" rel="">هنا</a>.
</p>

<h2 id="-7">
	المفاهيم الأساسية اللازمة لتطوير أنظمة الذكاء الاصطناعي
</h2>

<p>
	هناك العديد من المفاهيم والعناصر المرتبطة بأنظمة الذكاء الاصطناعي والتي تُمكّن الآلات من محاكاة الذكاء البشري وأداء مجموعة واسعة من المهام. تشمل هذه المفاهيم والعناصر:
</p>

<h3 id="-8">
	البيانات الضخمة
</h3>

<p>
	البيانات هي شريان الحياة لأنظمة الذكاء الصناعي. إنها بمثابة الأساس الذي تعمل عليه خوارزميات الذكاء الصناعي. بدون البيانات لم نكن لنرى ذكاءًا صناعيًا، فنماذج الذكاء الاصطناعي كالنار والبيانات كالحطب، كلما أعطيتها بيانات توهجت أكثر.
</p>

<p>
	إن ثورة البيانات الضخمة <a href="https://academy.hsoub.com/programming/general/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-%D8%A7%D9%84%D8%B6%D8%AE%D9%85%D8%A9-big-data-r1579/" rel="">Big data</a> ليست مجرد مصطلح عصري يطرحه بائعو التقنية الذين يقترحون طرقًا مبتكرة لتخزين المعلومات وتحليلها؛ بل تعد قوة كبيرة تعيد تشكيل حياتنا اليومية. ومن المحتمل أنك صادفت هذا المصطلح في العديد من المنشورات العلمية والتجارية، وأثار فضولك لمعرفة معناه الحقيقي. من الناحية الفنية، تمثل البيانات الضخمة مجموعات بيانات ضخمة ومعقدة لدرجة أن الأساليب التقليدية التي تتضمن تخزينًا إضافيًا أو زيادة قوة الحوسبة تفشل في إدارتها. يمثل هذا المفهوم تحولًا عميقًا في كيفية تخزين البيانات ومعالجتها، مما يؤدي إلى أكثر من مجرد تقدم كمي فهو يتيح إجراء تحسينات نوعية، ليعزز قدرتنا على أداء المهام باستخدام هذه البيانات.
</p>

<h4 id="-9">
	فهم أنواع البيانات: المُهيكلة وغير المُهيكلة
</h4>

<p>
	بينما ينظر البشر إلى البيانات بتنسيقات مختلفة، فإن أجهزة الحاسب تقوم بمعالجتها بشكل أساسي كتدفق مستمر من الواحدات والأصفار، فهي لغة الحواسيب الأساسية. ويمكن تصنيف البيانات إلى نوعين أساسيين بناءً على كيفية إنشائها واستهلاكها. <strong>البيانات المُهيكلة أو المُنظّمة Structured data</strong>، وهي ذات تنسيق واضح مع مواقع معروفة لكل جزء من المعلومات، وغالبًا ما تشبه جداول قاعدة البيانات حيث يحتوي كل عمود على أنواع بيانات محددة. تُنظّم البيانات المهيكلة بتأني وتُجمع بشكل انتقائي وتخزّن بطريقة منهجية، تمامًا مثل ترتيب الكتب في المكتبة، مما يجعل من السهل تحديد موقع بيانات محددة عند الحاجة.
</p>

<p>
	ومن ناحية أخرى، تتضمن <strong>البيانات غير المُهيكلة أو غير المنظّمة Unstructured data</strong> عناصر مثل الصور ومقاطع الفيديو والتسجيلات الصوتية، ويمكن أن تشمل نصًا في نموذج يتطلب وضع علامات عليه بخصائص مثل الحجم أو التاريخ أو نوع المحتوى. تفتقر البيانات غير المُهيكلة إلى بنية محددة مسبقًا، مما يجعل من الصعب تحديد بيانات محددة ضمن مجموعة بيانات، حيث يتم تمثيلها كتسلسلات من الواحدات والأصفار التي تتطلب تفسيرًا أو تصورًا بواسطة التطبيق.
</p>

<h4 id="-10">
	تمثيل المعرفة
</h4>

<p>
	إن تمثيل المعرفة knowledge representation هو مفهوم أساسي في الذكاء الاصطناعي يركز على كيفية التقاط المعرفة حول العالم وتنظيمها بطريقة يمكن لأنظمة الحاسوب الاستفادة منها بفعالية. في أنظمة الذكاء الاصطناعي، يتضمن تمثيل المعرفة تخزين المعلومات بحيث يمكن استخدامها لاستخلاص الاستدلالات واتخاذ القرارات وحل المشكلات.
</p>

<h3 id="-11">
	الخوارزميات
</h3>

<p>
	تلعب البيانات دورًا أساسيًّا في ثورة الذكاء الاصطناعي، وتشير التطورات الحديثة إلى أنه في بعض الحالات، يكون اختيار الحجم المناسب من البيانات له أهمية أكبر من العثور على الخوارزمية المثالية. هذا ما أوضحته ورقة بحثية هامة أجراها باحثون في مايكروسوفت Microsoft عام 2001 بانكو وبريل والمتعلقة بنماذج اللغة نماذج الذكاء الاصطناعي التي تهدف إلى معالجة النصوص وتوليدها وفهمها فقد كشفت أبحاثهما عن رؤية عميقة: عندما نهدف إلى إنشاء نموذج لغوي، لا ينبغي أن تكون الخوارزمية هي الأكثر تعقيدًا وصحة. فمن خلال غمر النموذج بمليارات الكلمات المتعلقة بسياق المشكلة، فإن أي خوارزمية، بغض النظر عن مدى تعقيدها، تبدأ في عرض أداء عالي بشكل ملحوظ.
</p>

<p>
	على الرغم من أنه لا غنى عن كمية كبيرة من البيانات، إلا أن وجود <a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">خوارزمية</a> مناسبة يظل ضروريًا لاستخلاص معلومات ذات معنى. كما أن التحليل الدقيق للبيانات، والذي يتضمن سلسلة من الخطوات المنهجية، أمر ضروري لضمان التناغم بين الخوارزميات المختارة والبيانات. لا توجد طرق مختصرة؛ حتى في مجال الأتمتة الذكية، يكون للتحليل أحيانًا الأسبقية على الأتمتة. إن الآلات القادرة على التعلم المستقل وتجنب التدخل البشري تمامًا هي احتمال بعيد، وليست حقيقة حالية.
</p>

<h4 id="-12">
	دور الخوارزمية
</h4>

<p>
	غالبًا ما يجذب الذكاء الاصطناعي انتباهنا عندما يتجلى في الأدوات التي تقدم تفاعلات مبتكرة تشبه تفاعلات الإنسان، فكر مثلًا في المساعدين الافتراضيين مثل سيري Siri وكورتانا Cortana أو الأدوات اليومية مثل أجهزة توجيه نظام تحديد المواقع العالمي GPS وأنظمة تجنب الاصطدام في المركبات والطائرات التي تدمج الذكاء الاصطناعي بشفافية دون لفت الانتباه، وذلك ببساطة لأنها أصبحت منتشرة في كل مكان وأصبحت أمرًا مفروغًا منه.
</p>

<p>
	هذه الظاهرة، التي صاغتها باميلا ماكوردوك بدقة "<a href="https://en.wikipedia.org/wiki/AI_effect" rel="external nofollow">تأثير الذكاء الاصطناعي AI effect</a>" في عام 1979، تسلط الضوء على أنه بمجرد أن تصبح أنظمة الذكاء الاصطناعي ماهرة وبارعة جدًا في مهامها، فإنها تتلاشى في الخلفية (تفقد اهتمام الجمهور والخبراء)، وتطغى التحديات الأحدث في هذا المجال على أهميتها. بمعنى آخر، بمجرد أن تصبح أنظمة الذكاء الاصطناعي شائعة وتؤدي المهام ببراعة، فإنها تصبح جزءًا طبيعيًا من بيئتنا ويختفي توهجها. ينتج عن ذلك أن يميل الناس إلى نسيان الدور الأساسي الذي تلعبه الخوارزميات الكلاسيكية في قيادة كل التقنيات الموجودة والتقليل من أهمية مساهمتها المحورية في الذكاء الاصطناعي، ويتحول الاهتمام إلى تقنيات أكثر غرابة أو التطورات الحديثة مثل التعلم الآلي والتعلم العميق.
</p>

<p>
	الخوارزمية في جوهرها عبارة عن مجموعة منهجية من العمليات، يتم تنفيذها عادةً بواسطة جهاز حاسب، مما يضمن حلًا نهائيًا لمشكلة ما خلال إطار زمني محدد أو يشير إلى عدم قابليتها للحل. بينما ظل البشر يحلون الخوارزميات يدويًا لعدة قرون، فإن تعقيد المشكلات الحديثة يستلزم المساعدة الحسابية. تم تصميم الخوارزميات لتبسيط هذه العملية، بهدف إيجاد حلول دقيقة وسريعة وفعالة أيضًا. تمثل هذه الخوارزميات إنجازات فكرية متأصلة في العقل البشري، وتعكس الآلات التي تعمل بالخوارزميات بشكل أساسي الذكاء المتضمن في هذه الإجراءات. إن فهم التأثير العميق للخوارزميات على الذكاء الاصطناعي أمر بالغ الأهمية، لأنه يذكرنا بأن الجوهر الحقيقي للذكاء الاصطناعي يكمن في التصميم الدقيق لهذه العمليات الأساسية وتنفيذها.
</p>

<h4 id="pattern">
	النمط Pattern
</h4>

<p>
	يشير مصطلح النمط إلى تمثيل أو تجميع البيانات بطريقة تسمح بالكشف عن تكرار السلوك أو الخصائص المشتركة. ويمكن استخدام هذا التمثيل لفهم البيانات واستخراج المعلومات والقواعد منها. على سبيل المثال، يمكن لنموذج <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة</a> أن يتعرف على نماذج معينة في الصور، مثل التعرف على وجوه الأشخاص لأن لها شكل وسمات مميزة. مثال آخر، يمكن لنظام يعمل بالذكاء الصناعي تصنيف رسائل البريد الإلكتروني إلى "رسائل هامة" و "رسائل غير هامة" عن طريق اكتشاف أنماط مثل الكلمات المفتاحية وهياكل الرسائل.
</p>

<h4 id="features">
	الميزات أو السمات Features
</h4>

<p>
	السمات عبارة عن أجزاء محددة من المعلومات ضمن البيانات التي تستخدمها الخوارزمية لإجراء تنبؤات أو قرارات. في التعرف على الصور، يمكن أن تتضمن السمات الحواف Edges أو الألوان أو الأنسجة أو قيم البكسلات أما في التنبؤ بأسعار المنازل، فيمكن أن تكون السمات هي حجم ومساحة المنزل وعدد الغرف والموقع. يعد اختيار السمات ذات الصلة أمرًا بالغ الأهمية لدقة نظام الذكاء الاصطناعي.
</p>

<p>
	اقرأ مقالة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a> للحصول على فهم شامل.
</p>

<h3 id="model">
	النموذج Model
</h3>

<p>
	لحل أي مشكلة أو مهمة باستخدام الذكاء الاصطناعي، فإن الهدف الأساسي هو إنشاء نموذج باستخدام خوارزمية واحدة أو أكثر. نطوّر أداء هذا النموذج من خلال التدريب الدقيق للخوارزميات المُستخدمة. يتمثل الطموح النهائي في أن يقدم النموذج قدرات تنبؤية استثنائية، بحيث نضمن فعاليته في سيناريوهات العالم الحقيقي. على سبيل المثال، يمكن للنموذج الذي تم تدريبه على آلاف صور القطط التعرف على القطط في الصور الجديدة. النماذج هي جوهر أنظمة الذكاء الصناعي.
</p>

<p>
	من ناحية أخرى، يتضمن تدريب نموذج الذكاء الاصطناعي بشكل رئيسي تعريّضه لكميات كبيرة من البيانات بهدف فهم وتعلّم هذه البيانات. يتم تحقيق ذلك من خلال الخوارزميات التي يمكنها التعلّم من البيانات. تُعتبر مرحلة تدريب النموذج خطوة هامة في إنشاء أنظمة الذكاء الاصطناعي القادرة على اتخاذ القرارات الذكية الفعّالة.
</p>

<h3 id="hardware">
	الأجهزة والعتاد Hardware
</h3>

<p>
	تحدثنا في فقرة سابقة عن النكسات التاريخية التي واجهتها مساعي الذكاء الاصطناعي المبكرة بسبب عدم كفاية قدرات الأجهزة أو الموارد الحوسبية عمومًا. كان شح الموارد الحسابية كبيرًا للغاية ولم تكن قادرة على تنفيذ المهام بسرعة كافية، مما أعاق حتى العمليات البسيطة، فما بالك بالمهام المعقدة المتمثلة في تكرار الفكر البشري. تم تصوير هذا التحدي بوضوح في الفيلم الرائع "The Imitation Game"، حيث نجح آلان تورينج ببراعة في فك شفرة إنجما من خلال تحديد عبارة معينة في كل رسالة. كان نجاح تورينج يعتمد على استغلال ثغرة في طريقة مشغلي آلة إنجما، والتي لولاها لكان نجاح جهاز الحاسب الخاص به أمرًا مستحيلًا لأنه كان بطيئًا جدًا للقيام بالمهمة. يؤكد الواقع التاريخي الأكثر تعقيدًا عما صوّره الفيلم، عمق التحديات التي يواجهها تورينج. <a href="https://www.scienceabc.com/innovation/cracking-the-uncrackable-how-did-alan-turing-and-his-team-crack-the-enigma-code.html" rel="external nofollow">حل ما لا يمكن حله: كيف تمكن آلان تورينج وفريقه من فك شفرة اللغز؟</a>.
</p>

<p>
	لحسن الحظ تم حل مشكلة الموارد الحوسبية في وقتنا هذا إلى حد جيد، مما أتاح لنا رؤية الذكاء الاصطناعي في حياتنا اليومية. عمومًا، وحتى مع وجود أجهزة متخصصة مصممة لإجراء عمليات حسابية سريعة اليوم مثل وحدات المعالجة المركزية <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%88%D8%AD%D8%AF%D8%A9-%D8%A7%D9%84%D9%85%D8%B9%D8%A7%D9%84%D8%AC%D8%A9-%D8%A7%D9%84%D9%85%D8%B1%D9%83%D8%B2%D9%8A%D8%A9-%D9%88%D8%B9%D9%85%D9%84%D9%8A%D8%A7%D8%AA%D9%87%D8%A7-%D9%81%D9%8A-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8-r1716/" rel="">CPUs </a>ووحدات معالجة الرسومات GPUs ومسرعات الذكاء الاصطناعي المتخصصة مثل TPUs، فإن الآلة المصمّمة لمحاكاة الفكر البشري تواجه قيودًا تُمليها مدخلاتها ومخرجاتها، بالتالي لازالت <a href="https://academy.hsoub.com/apps/operating-systems/%D9%85%D9%83%D9%88%D9%86%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D8%A8/" rel="">مكونات الحواسيب</a> لا تساعد في الارتقاء إلى مستوى تكرار تعقيد الدماغ البشري.
</p>

<h3 id="-13">
	لغات برمجة الذكاء الاصطناعي
</h3>

<p>
	<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a> هي مفتاح أساسي لتطوير تطبيقات ذكية ونظم قادرة على التعلم واتخاذ القرارات. هذه اللغات تمثل الواجهة التي تسمح للمطورين بالتفاعل مع الأنظمة الذكية وتحديد سلوكها. من بين أهم هذه اللغات تأتي لغة بايثون <a href="https://academy.hsoub.com/programming/python/" rel="">Python</a> التي تُعَدُّ لغة برمجة مفتوحة المصدر وسهلة التعلم، وهي مثالية لبناء نماذج الذكاء الاصطناعي. إلى جانب بايثون تأتي لغة <a href="https://academy.hsoub.com/programming/r-language/" rel="">R</a> التي تستخدم أساسًا في التحليل الإحصائي والتعلم الآلي.
</p>

<h3 id="-14">
	مكتبات وأطر التعلم الآلي
</h3>

<p>
	<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مكتبات وأطر التعلم الآلي</a> هي أدوات برمجية ومكتبات تسهل تطوير نماذج الذكاء الاصطناعي وتدريبها. تشمل أطر التعلم الآلي الشائعة تنسرفلو TensorFlow وباي تورش PyTorch وسايكيت-ليرن scikit-learn.
</p>

<h3 id="ui">
	واجهة المستخدم UI
</h3>

<p>
	توفر واجهة المستخدم وسيلة للبشر للتفاعل مع أنظمة الذكاء الاصطناعي. يمكن أن تكون بسيطة مثل واجهة الدردشة النصية أو معقدة مثل روبوت يشبه الإنسان.
</p>

<p>
	تعد معرفة هذه العناصر والمفاهيم الأساسية أمرًا ضروريًا لفهم كيفية عمل أنظمة الذكاء الاصطناعي وكيفية تطبيقها في سيناريوهات العالم الحقيقي المختلفة.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="-15">
	كيف يعمل الذكاء الاصطناعي
</h2>

<p>
	يشمل الذكاء الاصطناعي مجموعة واسعة من التقنيات والأساليب التي تهدف إلى محاكاة الذكاء البشري في الآلات. في حين أن الذكاء الاصطناعي قد يبدو صعبًا، فإن فهم مفاهيمه الأساسية يعد خطوة أولى حاسمة في إزالة الغموض عن هذا المجال الرائع.
</p>

<p>
	يعمل الذكاء الاصطناعي في جوهره من خلال معالجة وتحليل كميات هائلة من البيانات لاكتشاف الأنماط وفهم العلاقات بينها. فيما يلي المفاهيم الأساسية وراء كيفية عمل الذكاء الاصطناعي:
</p>

<ol>
	<li>
		<p>
			<strong>إدخال البيانات:</strong> تبدأ أنظمة الذكاء الاصطناعي بالبيانات. يمكن أن تأتي هذه البيانات في أشكال مختلفة، مثل النصوص أو الصور أو قراءات أجهزة الاستشعار. إنه بمثابة المادة الخام التي تعمل بها خوارزميات الذكاء الاصطناعي.
		</p>
	</li>
	<li>
		<p>
			<strong>المعالجة المسبقة للبيانات:</strong> قبل أن تتمكن خوارزميات الذكاء الاصطناعي من فهم البيانات، غالبًا ما تحتاج إلى التنظيف والإعداد. يتضمن ذلك مهام مثل إزالة الضوضاء ومعالجة القيم المفقودة وتوحيد التنسيق.
		</p>
	</li>
	<li>
		<p>
			<strong>الخوارزميات:</strong> خوارزميات الذكاء الاصطناعي هي التعليمات الرياضية التي تقود عمليات صنع القرار. يمكن أن تتراوح من الأنظمة البسيطة القائمة على القواعد إلى نماذج التعلم الآلي الأكثر تقدمًا. يعتمد اختيار الخوارزمية على المهمة المحددة التي يحتاج الذكاء الاصطناعي إلى تنفيذها.
		</p>
	</li>
	<li>
		<p>
			<strong>التدريب:</strong> في حالة التعلم الآلي، تخضع أنظمة الذكاء الاصطناعي للتدريب حيث تتعلم كيفية التعرّف على الأنماط في البيانات.
		</p>
	</li>
	<li>
		<p>
			<strong>الاستدلال:</strong> بعد انتهاء التدريب، تستخدم أنظمة الذكاء الاصطناعي المعرفة المكتسبة لإجراء تنبؤات أو حل المشكلات أو تقديم التوصيات. يُعرف هذا بالاستدلال وهو الطريقة الأساسية التي يتفاعل بها الذكاء الاصطناعي مع العالم الحقيقي.
		</p>
	</li>
	<li>
		<p>
			<strong>حلقة التقييم:</strong> في سياق الذكاء الاصطناعي، يشير "التقييم" إلى العملية التي من خلالها تتعلم أنظمة الذكاء الاصطناعي وتحسن أدائها بمرور الوقت. بعد نشر نموذج الذكاء الاصطناعي والتفاعل مع بيانات العالم الحقيقي أو المستخدمين، فإنه يتلقى تعليقات بناءً على نتائج تنبؤاته أو قراراته. تعتبر حلقة التغذية الراجعة هذه ضرورية لتحسين النموذج وتعزيز دقته وفعاليته.
		</p>
	</li>
	<li>
		<p>
			<strong>المخرجات:</strong> المخرجات النهائية لنظام الذكاء الاصطناعي هي النتائج أو الاستجابات التي تولدها أنظمة الذكاء الاصطناعي بعد معالجة بيانات الإدخال باستخدام الخوارزميات. وهو يمثل نتيجة التحليل أو اتخاذ القرار أو التوصية أو التنبؤ الذي يقوم به نظام الذكاء الاصطناعي بناءً على الأنماط والمعلومات التي تعلمها أثناء التدريب أو من خلال قواعده المبرمجة.
		</p>
	</li>
</ol>

<p>
	يعد فهم هذه المفاهيم الأساسية أمرًا ضروريًا لأي شخص يتطلع إلى فهم طريقة عمل الذكاء الاصطناعي. هذه المبادئ الأساسية تكون بمثابة أساس متين لاستكشاف موضوعات الذكاء الاصطناعي الأكثر تقدمًا.
</p>

<h3 id="-16">
	تعلم الآلة: تقنية الذكاء الاصطناعي الأساسية
</h3>

<p>
	يعد <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة</a> تقنية أساسية في مجال الذكاء الاصطناعي، حيث تُمكّن أجهزة الحاسب من التعلم من البيانات وتحسين أدائها بمرور الوقت دون أن تتم برمجتها بشكل صريح. في برمجة الحاسوب التقليدية، يكتب البشر تعليمات واضحة لجهاز الحاسب لأداء مهمة محددة. أما في التعلم الآلي يتم تصميم الخوارزميات بطريقة يمكنها التعرف على الأنماط من خلال تعريضها لكميات هائلة من البيانات، مما يسمح للنظام بالتنبؤ أو اتخاذ القرارات في الحياة الواقعية بناءً على فهمه السابق للبيانات.
</p>

<p>
	تتضمن عملية التعلم الآلي ثلاثة مكونات رئيسية:
</p>

<ol>
	<li>
		<strong>البيانات</strong>: يتم جمع مجموعات كبيرة من البيانات المتوافرة عبر الإنترنت بهدف تدريب النموذج عليها.
	</li>
	<li>
		<strong>الخوارزميات</strong>: تحلل خوارزميات التعلم الآلي البيانات لتحديد الأنماط والعلاقات داخلها. تم تصميم هذه الخوارزميات للتعلم من البيانات وتحسين أدائها بمرور الوقت.
	</li>
	<li>
		<strong>النماذج</strong>: بمجرد أن تتعلم الخوارزمية من البيانات، فإنها يصبح لدينا نموذج. يمكن استخدام هذا النموذج لإجراء تنبؤات أو قرارات.
	</li>
</ol>

<p>
	إن تعلم الآلة متعدد الاستخدامات بشكل لا يصدق ويستخدم في مجموعة واسعة من التطبيقات، مثل معالجة اللغة الطبيعية والتعرف على الصور وأنظمة التوصية والمركبات المستقلة، لذا فهو يلعب دورًا حاسمًا في تمكين أنظمة الذكاء الاصطناعي من التكيف وتحسين أدائها عندما تواجه بيانات جديدة، مما يجعلها التقنية الأساسية في تطوير الآلات الذكية.
</p>

<h2 id="-17">
	التطبيقات الشائعة للذكاء الاصطناعي في الحياة اليومية
</h2>

<p>
	لقد اندمج الذكاء الاصطناعي بسلاسة في حياتنا اليومية والعملية، مما أدى إلى إحداث ثورة في مختلف الجوانب وتعزيز الكفاءة والراحة. لقد أصبحنا اليوم نرى تطبيقات لاحصر لها للذكاء الاصطناعي، وفي هذا القسم نلقي الضوء على بعض <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a> الشائعة.
</p>

<h3 id="virtualassistants">
	المساعدون الافتراضيون Virtual assistants
</h3>

<p>
	يعمل المساعدون الافتراضيون المدعومين بالذكاء الاصطناعي مثل سيري Siri وأليكسا Alexa ومساعد جوجل Google Assistant على تبسيط المهام والإجابة على الأسئلة والتحكم في الأجهزة الذكية من خلال معالجة اللغة الطبيعية.
</p>

<h3 id="-18">
	ميزات الهاتف الذكي
</h3>

<p>
	يعمل الذكاء الاصطناعي على تحسين الهواتف الذكية من خلال التعرف على الوجه للأمان وتحسين إعدادات الكاميرا للحصول على صور أفضل وتحسين تجربة المستخدم بشكل عام.
</p>

<h3 id="-19">
	تخصيص وسائل التواصل الاجتماعي
</h3>

<p>
	تعمل خوارزميات الذكاء الاصطناعي على تحليل سلوك المستخدم وعرض محتوى مخصص وإعلانات مستهدفة.
</p>

<h3 id="-20">
	التسوق المحسّن عبر الإنترنت
</h3>

<p>
	تستخدم منصات التجارة الإلكترونية الذكاء الاصطناعي لتوصيات المنتجات وتقديم اقتراحات مخصصة بناءً على سجل التصفح وتعزيز تجربة التسوق.
</p>

<h3 id="-21">
	خدمة العملاء المعتمدة على الذكاء الاصطناعي
</h3>

<p>
	توفر روبوتات الدردشة Chatbots المدعومة بالذكاء الاصطناعي استجابات فورية لاستفسارات العملاء وتحسين خدمات الدعم على مواقع الويب والتطبيقات ووسائل التواصل الاجتماعي.
</p>

<h3 id="-22">
	الذكاء الاصطناعي في الرعاية الصحية
</h3>

<p>
	من تحليل الصور الطبية إلى التحليلات التنبؤية، يساعد الذكاء الاصطناعي في تشخيص الأمراض والتنبؤ بالنتائج وتحسين خطط العلاج.
</p>

<h3 id="-23">
	أنظمة الملاحة الذكية
</h3>

<p>
	يقوم الذكاء الاصطناعي بتحليل بيانات حركة المرور في الوقت الفعلي، وتقديم اقتراحات دقيقة للمسار، وأوقات الوصول المقدرة، والمسارات المثالية للسائقين.
</p>

<h3 id="-24">
	خدمات الترجمة اللغوية
</h3>

<p>
	تتيح أدوات الترجمة المعتمدة على الذكاء الاصطناعي  مثل <a href="https://academy.hsoub.com/apps/cat/%D8%AE%D8%AF%D9%85%D8%A9-azure-ai-translator-%D8%A7%D9%84%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D9%85%D9%86-microsoft-r916/" rel="">Azure AI Translator</a> على ترجمة النصوص والكلام في الوقت الفعلي، وكسر حواجز اللغة وتسهيل التواصل العالمي.
</p>

<h3 id="-25">
	الذكاء الاصطناعي في الخدمات المالية
</h3>

<p>
	يقوم الذكاء الاصطناعي بتحليل البيانات المالية واكتشاف الاحتيال والتنبؤ باتجاهات السوق وتقديم المشورة المالية الشخصية للمستخدمين.
</p>

<h3 id="-26">
	أتمتة المنزل الذكي
</h3>

<p>
	يعمل الذكاء الاصطناعي على تشغيل أجهزة مثل أجهزة تنظيم الحرارة وكاميرات الأمان، مما يسمح للمستخدمين بالتحكم في المنازل وأتمتتها لتحقيق كفاءة الطاقة والأمن.
</p>

<h3 id="-27">
	التعليم المخصص
</h3>

<p>
	توفر المنصات التعليمية التي تعتمد على على الذكاء الاصطناعي تجارب تعليمية مخصصة، وتكيف الدروس بناءً على أداء الطالب الفردي وأساليب التعلم.
</p>

<p>
	تسلط هذه التطبيقات الضوء على التأثير المتنوع والواسع النطاق للذكاء الاصطناعي في حياتنا اليومية، مما أحدث ثورة في كيفية تفاعلنا مع التكنولوجيا وتعزيز الجوانب المختلفة لأعمالنا الروتينية.
</p>

<p>
	نوصي أيضًا بالاطلاع على مقالة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a>، حيث نلقي نظرة شاملة على التطبيقات المختلفة للذكاء الاصطناعي.
</p>

<h2 id="-28">
	الاعتبارات الأخلاقية والتحديات في الذكاء الاصطناعي
</h2>

<p>
	تحتل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-%D8%A7%D9%84%D8%AA%D8%AD%D8%AF%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9-%D9%88%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%B3%D8%B9-%D9%81%D9%8A-%D8%A7%D9%84%D9%85%D8%AC%D8%A7%D9%84-r1010/" rel="">الاعتبارات والتحديات الأخلاقية في مجال الذكاء الاصطناعي</a> صدارة المناقشات مع استمرار تقدم هذه التكنولوجيا. إن قدرة الذكاء الاصطناعي على معالجة كميات هائلة من البيانات واتخاذ القرارات تثير أسئلة أخلاقية مهمة حول الخصوصية والتحيز والمساءلة والعديد من القضايا التي نتناولها بإيجاز في هذا القسم.
</p>

<h3 id="-29">
	خصوصية البيانات وأمنها وحقوق الملكية الفكرية
</h3>

<p>
	يعتمد الذكاء الاصطناعي بشكل كبير على البيانات. يعد ضمان خصوصية وأمن بيانات المستخدم أمرًا بالغ الأهمية لمنع سوء الاستخدام والوصول غير المصرح به. كما أن هذه الأنظمة الذكية يمكنها إعادة صياغة الأفكار والمقالات أو تقليد أساليب الكتابة ..إلخ، وهذا ما يمس مبدأ حقوق الملكية الفكرية والنشر. على سبيل المثال، <a href="https://www.aljazeera.net/tech/2023/7/10/%D9%83%D8%A7%D8%AA%D8%A8%D8%A9-%D8%A3%D9%85%D9%8A%D8%B1%D9%83%D9%8A%D8%A9-%D8%AA%D9%82%D8%A7%D8%B6%D9%8A-%D9%85%D9%8A%D8%AA%D8%A7%D9%88%D8%A3%D9%88%D8%A8%D9%86-%D8%A5%D9%8A-%D8%A3%D9%8A" rel="external nofollow">بعض الكتاب بدأو بتحريك دعوات قضائية ضد شركتي "ميتا META" و "أوبن آي إيه OpenAI" بسبب أنظمة الذكاء الاصطناعي التي يطورونها</a>.
</p>

<h3 id="-30">
	التحيز والإنصاف
</h3>

<p>
	يمكن لخوارزميات الذكاء الاصطناعي أن تؤدي عن غير قصد إلى تبني التحيزات الموجودة في بيانات التدريب، مما يؤدي إلى نتائج غير عادلة. يعد التصدي للتحيز وضمان العدالة في أنظمة الذكاء الاصطناعي أمرًا ضروريًا لاتخاذ القرار العادل. في مقالة نشرتها صحيفة إندبندنت independent الأمريكية، بعنوان <a href="https://www.independent.co.uk/news/world/americas/elon-musk-ap-chatgpt-tesla-openai-b2321564.html" rel="external nofollow">"يقول إيلون ماسك Elon Musk إنه سينشئ "TruthGPT" لمواجهة "تحيّز" الذكاء الاصطناعي"</a>، ونقلًا عن رجل الأعمال الشهير إيلون ماسك -قالت أن إيلون ماسك يتهم ChatGPT بما اسماه "التحيز ليبرالي".
</p>

<h3 id="-31">
	الشفافية والمساءلة
</h3>

<p>
	غالبًا ما يُنظر إلى عمليات الذكاء الاصطناعي على أنها "صناديق سوداء"، مما يجعل من الصعب فهم كيفية اتخاذ القرارات. يعد ضمان الشفافية في الخوارزميات ومحاسبة المطورين عن سلوك أنظمتهم أمرًا بالغ الأهمية.
</p>

<h3 id="-32">
	التأثير على التوظيف
</h3>

<p>
	إحدى المشكلات الأساسية هي أتمتة المهام الروتينية، حيث يمكن لأنظمة الذكاء الاصطناعي المجهزة بخوارزميات التعلم الآلي، التعامل بكفاءة مع الوظائف المتكررة والعادية التي كان يؤديها البشر في السابق. يشكل هذا التحول تحديًا كبيرًا، وخاصة في صناعات محددة حيث أصبحت الأتمتة سائدة. لقد شهدت صناعات مثل التصنيع والنقل وخدمة العملاء الاستبدال التدريجي للعمال البشريين بآلات ذكية، وهذا ما سيؤدي إلى فقدان محتمل لبعض الوظائف. مثال على ذلك، هو أننا بدأنا نرى استبدال لخدمة العملاء ببرامج الدردشة الآلية.
</p>

<p>
	عمومًا، ووسط هذا التحدي، هناك فرصة لاكتساب مهارات جديدة وللتحوّل الوظيفي. على سبيل المثال لا الحصر، هناك حاجة متزايدة لقوى عاملة ماهرة في إدارة وتطوير أنظمة الذكاء الاصطناعي. كما يمكن لمبادرات برامج إعادة بناء المهارات والمسارات التعليمية أن تزوّد العمال بالخبرة اللازمة للتكيف مع سوق العمل المتطور. من الممكن أن تخفف هذه التحوّلات من الآثار السلبية للأتمتة من خلال مواءمة القوى العاملة مع متطلبات الاقتصاد والصناعة المدعومة بالذكاء الاصطناعي، وهذا يضمن قدرة الأفراد على إيجاد سبل جديدة للتوظيف في ظل هذا التقدم التكنولوجي.
</p>

<h3 id="-33">
	الاستخدام الأخلاقي في الحرب والمراقبة
</h3>

<p>
	يتم استخدام تقنيات الذكاء الاصطناعي بشكل متزايد في التطبيقات العسكرية والمراقبة. يعد وضع مبادئ توجيهية أخلاقية لمنع إساءة الاستخدام وإلحاق الضرر بالمدنيين وانتهاكات حقوق الخصوصية مصدر قلق ملح.
</p>

<h3 id="-34">
	التعاون بين الإنسان والذكاء الاصطناعي
</h3>

<p>
	يعد تحقيق التوازن بين أدوار البشر والذكاء الاصطناعي في عمليات صنع القرار أمرًا بالغ الأهمية. وينبغي للأطر الأخلاقية أن تعمل على تعزيز التعاون حيث يعمل الذكاء الاصطناعي على تعزيز القدرات البشرية بدلا من استبدال الحكم البشري بالكامل.
</p>

<h3 id="-35">
	العواقب طويلة المدى
</h3>

<p>
	إن توقع وتخفيف العواقب المحتملة طويلة المدى للذكاء الاصطناعي، مثل تأثيره على المجتمع والبيئة والعلاقات الإنسانية، يتطلب دراسة أخلاقية متأنية لضمان مستقبل إيجابي للبشرية.
</p>

<h3 id="-36">
	المعايير واللوائح العالمية
</h3>

<p>
	إن تطوير المعايير واللوائح الدولية أمر ضروري لضمان تطوير تكنولوجيات الذكاء الاصطناعي ونشرها واستخدامها بشكل أخلاقي عبر الحدود، وتعزيز الابتكار المسؤول وتقليل المخاطر.
</p>

<h2 id="-37">
	خاتمة
</h2>

<p>
	وفي ختام مقالة أساسيات الذكاء الاصطناعي، فإن الخوض في عالم الذكاء الاصطناعي قد سمح لنا بإزالة الغموض عن التكنولوجيا التي تشكل حاضرنا ومستقبلنا. خلال هذا الاستكشاف، تعلمنا المفاهيم الأساسية وراء الذكاء الاصطناعي، وتتبعنا أصوله وفهمنا أنواعه المختلفة. لقد كشفنا عن الأعمال الداخلية لأنظمة الذكاء الاصطناعي، وكشفنا عن مفاهيم التعلم الآلي والخوارزميات التي كانت تعتبر في السابق ألغازًا غامضة.
</p>

<p>
	ومن خلال استكشاف تطبيقات الحياة الواقعية، شهدنا كيف يتم دمج الذكاء الاصطناعي بسلاسة في حياتنا اليومية، مما يؤدي إلى إحداث ثورة في الصناعات وتعزيز تجاربنا. ومع ذلك، سلطت هذه الرحلة الضوء أيضًا على الاعتبارات الأخلاقية المحيطة بالذكاء الاصطناعي، وحثّتنا على التفكير في التطوير المسؤول لهذه الأداة. تطرّقنا أيضًا إلى التحديات والقيود التي يواجهها الذكاء الاصطناعي، مع التأكيد على أهمية البحث والابتكار المستمر للتغلب على هذه العقبات.
</p>

<p>
	في هذا العصر الذي يتسم بالتقدم التقني السريع، فإن تبني أساسيات الذكاء الاصطناعي يمكّننا من المشاركة في المناقشات واتخاذ قرارات مستنيرة والاستفادة من فوائد هذه التكنولوجيا التحويلية. ومن خلال تعزيز فهم أعمق للذكاء الاصطناعي بين الأفراد الذين ليس لديهم معرفة مسبقة، فإننا نمهد الطريق لمجتمع أكثر شمولاً واستنارة.
</p>

<h2 id="-38">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تعلم الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2243/" rel="">أهمية الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A7%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF%D9%8A-generative-ai-r2234/" rel="">مقدمة إلى الذكاء الاصطناعي التوليدي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/apps/web/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-chatgpt-api-%D9%84%D8%AA%D8%AD%D8%B3%D9%8A%D9%86-%D8%AE%D8%AF%D9%85%D8%A7%D8%AA%D9%83-%D8%B9%D8%A8%D8%B1-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r909/" rel="">دليل استخدام ChatGPT <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> لتحسين خدماتك عبر الإنترنت</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/javascript/nodejs/express/%D8%AF%D9%84%D9%8A%D9%84%D9%83-%D9%84%D8%B1%D8%A8%D8%B7-%D9%88%D8%A7%D8%AC%D9%87%D8%A9-openai-api-%D9%85%D8%B9-nodejs-r2233/" rel="">بناء مساعد شخصي من خلال ربط واجهة OpenAI <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> مع Node.js</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2239</guid><pubDate>Tue, 06 Feb 2024 12:05:00 +0000</pubDate></item><item><title>&#x645;&#x642;&#x62F;&#x645;&#x629; &#x625;&#x644;&#x649; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A; &#x627;&#x644;&#x62A;&#x648;&#x644;&#x64A;&#x62F;&#x64A; Generative AI</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A7%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF%D9%8A-generative-ai-r2234/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2024_01/----.png.6574d53c7d676dcd0cdbf2981c347dbb.png" /></p>
<p>
	لقد انتقل الذكاء الاصطناعي التوليدي Generative AI من مجرد كلمة طنانة في الصناعة إلى واقع ملموس يسود كافة مجالات الحياة ويتقدّم بوتيرة سريعة. يُقدم هذا المقال نظرة عامة على الذكاء الاصطناعي التوليدي الذي يشكل مفهومًا أساسيًا لفهم التقنيات الحديثة وتطبيقاتها، ويستكشف التطور الحاصل للذكاء الاصطناعي وقدراته الحالية والاعتبارات الأخلاقية المرتبطة به. ويُختتم المقال بتقديم رؤى حول مستقبل الذكاء الاصطناعي التوليدي ومناقشة تأثيره المحتمل على حياتنا اليومية.
</p>

<h2 id="">
	التطوّر التاريخي للذكاء الاصطناعي
</h2>

<p>
	تساعدك معرفة التطور التاريخي للذكاء الاصطناعي على فهم الذكاء الاصطناعي التوليدي بصورة أفضل ومعرفه دوره ومساهمته في مسيرة تطور <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">علم الذكاء الاصطناعي</a> بشكل عام.
</p>

<p>
	تعود أصول الذكاء الاصطناعي Artificial Intelligence أو اختصارًا AI إلى الفلاسفة والرياضيين القدامى الذين سعوا إلى تنفيذ الاستدلال أو المنطق من خلال الآلة. لكن وضع أساسيات ومبادئ الذكاء الاصطناعي الحديث بدأ في القرنين التاسع عشر والعشرين، وتجسد في الجبر البولي لجورج بول George Boole ومفهوم آلات التفكير Thinking machines التي وضعها آلان تورينج Alan Turing.
</p>

<p>
	وفي عام 1943، قدم وارن ماكولوخ Warren McCullouch ووالتر بيتس Walter Pitts أول خلية عصبية اصطناعية AI neuron، التي تعد تمثيلًا رياضيًا للخلية الحية. وقد كان هذا بدايةً لمفهوم <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%B9%D8%B5%D8%A8%D9%8A%D8%A9-%D9%84%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D8%A3%D8%B1%D9%82%D8%A7%D9%85-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D9%88%D8%A8%D8%A9-%D8%A8%D8%AE%D8%B7-%D8%A7%D9%84%D9%8A%D8%AF-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D9%85%D9%83%D8%AA%D8%A8%D8%A9-tensorflow-r1267/" rel="">الشبكات العصبية Neural networks</a>، التي أصبحت اليوم جوهر الذكاء الاصطناعي الحديث.
</p>

<p>
	في عام 1950، قدم آلان تورنج ورقة بحثية بعنوان "آلات الحوسبة والذكاء Computing Machinery and Intelligence"، حيث اقترح اختبارًا لذكاء الآلة. وهذا الاختبار لتورنج لا يزال يُستخدم اليوم كوسيلة للتفكير في تقييم أنظمة الذكاء الاصطناعي.
</p>

<p>
	وقد ظهر مصطلح الذكاء الاصطناعي لأول مرة في عام 1956 خلال مشروع بحثي في دارتموث حول الذكاء الاصطناعي Dartmouth Summer Research Project، ومن هنا كانت بداية أبحاث الذكاء الاصطناعي، فقد شهدت هذه الفترة الزمنية العديد من الاكتشافات التي أدت إلى انتعاش في مجال الذكاء الاصطناعي في الستينيات، ودعمتها تمويلات من وزارة الدفاع الأمريكية من أجل استثمارها في التطبيقات العسكرية. وتوقعت شخصيات بارزة حينها مثل هربرت سايمون Herbert Simon ومارفن مينسكي Marvin Minsky أن الآلات الذكية ستتمكن من الوصول لمستوى الذكاء البشري في غضون جيل واحد. ومع ذلك، ثبت أن تعقيدات الذكاء الاصطناعي كانت أكبر من المتوقع، مما أدى إلى تقليل التمويل والبحث، مما أدى إلى ما يعرف باسم "شتاء الذكاء الاصطناعي AI winter".
</p>

<p>
	لاحقًا شهدت فترة الثمانينات عودة الاهتمام بأبحاث الذكاء الاصطناعي بفضل النجاح التجاري الذي حققته الأنظمة الخبيرة Expert Systems أحد أشهر <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a> والتي تعد عبارة عن أنظمة مبنية على قواعد تُقلد الاستدلال البشري. ووجدت هذه الأنظمة النور في قطاعات متنوعة، بما في ذلك الرعاية الصحية والتمويل. ومع ذلك كانت هذه النهضة مؤقتة، حيث بدأ "شتاء الذكاء الاصطناعي" الآخر عام 1987.
</p>

<p>
	خلال التسعينيات والعقد الأول من القرن الحادي والعشرين، أصبحت تقنيات <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة Machine Learning</a> سائدة في مجال الذكاء الاصطناعي. فقد أتيحت كمية كبيرة من البيانات الضخمة وشكلت شُعلةً لبداية ازدهار التعلم الآلي. فبخلاف الأنظمة التقليدية المبنية على قواعد محددة لتعمل، تُميّز خوارزميات التعلم الآلي الأنماط التي تتضمّنها البيانات من تلقاء نفسها، وهذا ما أدى إلى تطوير مجموعة من التطبيقات مثل مُرشحات البريد الإلكتروني المزعج Email spam filters وأنظمة التوصية المستخدمة في مواقع مشهورة مثل Netflix وأنظمة التنبؤ المالي وتوقع أسواق الأسهم. وقد حوّلت تقنية التعلم الآلي تركيز الذكاء الاصطناعي من الأنظمة المبنية على القواعد إلى الأنظمة المبنية على البيانات.
</p>

<p>
	مع حلول عام 2012 طرأ تحول كبير على الذكاء الاصطناعي فقد تحسنت قدرات الحواسيب وتطورت المعالجات CPU ووحدات معالجة الرسومات GPUs من جهة، كما توفرت البيانات وتطورت خوارزميات الشبكات العصبية، وهذه العوامل مجتمعة أدت إلى ظهور <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D9%84%D9%81%D9%87%D9%85-%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%82-r1422/" rel="">التعلم العميق Deep Learning</a> كفرع من التعلم الآلي. وقد تفوق التعلم العميق بسرعة على تقنيات التعلم الآلي الأخرى، مما أدى إلى نهضة في أبحاث الذكاء الاصطناعي وتطبيقاته وزيادة في التمويل الممنوح له فمع حلول عام 2022، وقد بلغت الاستثمارات العالمية في الذكاء الاصطناعي حوالي 91 مليار دولار، وزاد الطلب على مختصي الذكاء الاصطناعي في سوق العمل.
</p>

<p>
	وقد بلغت تطبيقات الذكاء الاصطناعي المعتمدة على التعلم الآلي ذروتها في الوقت الحالي وطبقت في مختلف المهام بدءًا من المهام البسيطة كترشيح الرسائل المزعجة إلى المهام المعقدة كالمركبات ذاتية القيادة وأدوات التشخيص الطبي، كما ظهر تخصص فرعي للتعلم الآلي عرف باسم <strong>الذكاء الاصطناعي التوليدي Generative AI</strong> وأثبت كفاءته في العديد من التطبيقات وأبرزها كتابة المحتوى النصي وتوليد الصور ومقاطع الفيديو والأصوات، وفي فقراتنا التالية سنشرح المزيد حول هذا الفرع الحديث وآلية عمله.
</p>

<h2 id="-1">
	ما هو الذكاء الاصطناعي التوليدي؟
</h2>

<p>
	يستخدم المُهندسون أدوات وتقنيات متنوعة لتدريب خوارزميات التعلّم الآلة والذكاء الاصطناعي على البيانات للحصول على نماذج Models يمكنها إجراء توقعات أو تصنيفات. على سبيل المثال، يمكن لنموذج مُدرّب على مجموعة بيانات تحتوي على صور للقطط والكلاب التفريق بينهما بناءً على أنماط تعلمتها الخوارزمية خلال التدريب.
</p>

<p>
	تَخدم نماذج التعلم الآلي تطبيقات متنوعة بما في ذلك أنظمة الأمان التي تراقب تسجيلات الفيديو التي تسجلها الكاميرات وتكتشف وجود محاولات اقتحام محتملة من خلال تحليل بيانات الفيديو، كما يُمكن للمساعدين الصوتيين مثل سيري Siri وأليكسا Alexa معالجة الكلام والرد على استفسارات المستخدمين، وتعمل المركبات ذاتية القيادة على تتبع واكتشاف الكائنات واتخاذ القرارات أثناء القيادة، وفي قطاع الرعاية الصحية تُستخدم نماذج الذكاء الاصطناعي لاكتشاف التشوهات في الصور الطبية، بالإضافة إلى العديد من الاستخدامات الأخرى.
</p>

<p>
	دعونا نُطلق على هذا المجال اسم "الذكاء الاصطناعي التقليدي" أو "تعلم الآلة التقليدي" وذلك نظرًا لاستخدامه الشائع فهذا النوع من الذكاء الاصطناعي يمكنه تصنيف أو توقّع المحتوى، حيث يأخذ دخلًا وينتج خرجًا. مثلًا يمكنه تحديد ما إذا كانت الصورة (دخل) تحتوي على قطة أو كلب (أي قرار يُمثل الخرج) أو تحديد أفضل مسار إلى الوجهة (كما في تطبيقات الخرائط) أو تقدير احتمالية وجود ورم في صورة الأشعة السينية.
</p>

<p>
	أما الذكاء الاصطناعي التوليدي -والذي يُعتبر فرع من فروع تعلّم الآلة- فهو يستخدم الشبكات العصبية لإنشاء محتوى جديد كليًا. إذ تُدرّب هذه النماذج على مجموعات بيانات كبيرة مثل الصور ومقاطع الفيديو والصوت أو النصوص، وتكتشف الأنماط التي تُشكّل هذه الأشياء وتتعلّم منها، بالتالي يمكن لهذه النماذج بعد التدريب إنشاء محتوى جديد استنادًا إلى ما تعلمته خلال مرحلة التدريب. وتفيد نماذج الذكاء الاصطناعي التوليدي في مجالات عديدة مثل نماذج إنشاء الصور مثل DALL-E التابعة لشركة OpenAI والذي تعتمد على مجموعات ضخمة من الصور لتوليد صور جديدة، ونماذج إنشاء النصوص مثل ChatGPT التابعة لنفس الشركة الذي يولد نصوصًا جديدة بالاعتماد على مجموعات هائلة من النصوص التي دُرّب عليها.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="480" id="ips_uid_1403_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="كيف يعمل ChatGPT؟" width="853" data-embed-src="https://www.youtube.com/embed/3I6sXrVggYk"></iframe>
</p>

<p>
	يمكن للذكاء الاصطناعي التوليدي صياغة مجموعة واسعة من أنواع المحتوى، حيث يمكن لنماذج توليد الصور إنشاء صور متنوعة أو حتى إنشاء لوحات فنية تُحاكي لوحات فنانين أو حركات فنية محددة، وبالمثل يمكن لنماذج النصوص تقليد كُتّاب معينين أو أنواع معينة من الكتابة، وهذا ما ينتج عنه نصوص فنيّة وإبداعيّة أو حتى إنشاء شيفرات برمجية في لغات برمجة متنوعة كما يفعل نموذج CodeLlama.
</p>

<p>
	قد يبدو الاطلاع على نماذج الذكاء الاصطناعي التوليدي لأول مرة أمرًا ساحرًا، إذ يبدو وكأنها تُخرج المحتوى المطلوب من اللاشيء. يمكن أن تطلب من نموذج توليد النصوص كتابة قصيدة أو قصة، أو من نموذج توليد الصور إنشاء لوحة فنية أو صورة، تجربة خيالية أليس كذلك؟
</p>

<p>
	خذ الأمثلة التالية:
</p>

<p>
	أُنشئِت الصور التالية باستخدام DALL-E، وهو نموذج لتوليد الصور. طُلب من النموذج "إنشاء صورة لمدينة مزدحمة من عصر النهضة تسكنها حيوانات مجسمة". لاحظ التفاصيل المعقدة مثل الهندسة المعمارية المزخرفة والأنواع المختلفة من الحيوانات وفي أقل من دقيقة، أنتج النموذج صورتين فريدتين، لكل منهما أسلوب مميز.
</p>

<p style="text-align: center;">
	<img alt="صورة1 مولدة باستخدام نموذج DALL-E" class="ipsImage ipsImage_thumbnailed" data-fileid="143001" data-ratio="100.00" data-unique="tlr0iuu1e" style="width: 300px; height: auto;" width="300" src="https://academy.hsoub.com/uploads/monthly_2024_01/1.png.9e0df3bb2b4f98e75db3ef811f0c4d54.png">
</p>

<p style="text-align: center;">
	 
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="142999" href="https://academy.hsoub.com/uploads/monthly_2024_01/2.png.c22950fd939501dc19f8820adf3b8b7e.png" rel=""><img alt="صورة2 مولدة باستخدام نموذج DALL-E" class="ipsImage ipsImage_thumbnailed" data-fileid="142999" data-ratio="100.00" data-unique="qwzws3xzk" style="width: 300px; height: auto;" width="300" src="https://academy.hsoub.com/uploads/monthly_2024_01/2.png.c22950fd939501dc19f8820adf3b8b7e.png"> </a>
</p>

<p>
	إن نماذج إنشاء النص لا تقل دهشة عن نماذج إنشاء الصور فقد أُنشئ النص التالي بواسطة<a href="https://academy.hsoub.com/apps/web/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D8%A7%D8%AF%D8%AB%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D9%8A-%D8%B4%D8%A7%D8%AA-%D8%AC%D9%8A-%D8%A8%D9%8A-%D8%AA%D9%8A-chatgpt-r863/" rel=""> </a><a href="https://academy.hsoub.com/apps/web/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D8%A7%D8%AF%D8%AB%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D9%8A-%D8%B4%D8%A7%D8%AA-%D8%AC%D9%8A-%D8%A8%D9%8A-%D8%AA%D9%8A-chatgpt-r863/" rel="">بوت المحادثة ChatGPT</a>، وهو نموذج لتوليد النص. طُلب من النموذج "إنشاء فقرة واحدة عن قطة منزلية تعيش في عالم ما بعد نهاية العالم" وهذا ما أنتجته:
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<p data-gramm="false">
		في عتمة الليالي المتوارية وبين أنقاض ماضٍ مليء بالصمت، تتجول قطة منزلية بفضول لا يلين في عالم ما بعد نهاية العالم. فقد تأقلمت تلك القطة الناجية ببراعة مع هذا الواقع الجديد، حيث تجولت بين أطلال المباني السابقة، وعلى رغم أن الشوارع الآن فارغة من الحياة البشرية، لا تزال تحمل في عينيها لمسات الفضول والحيوية. تتسلق الأنقاض برشاقة، تفتش بين أشلاء الماضي بحثًا عن أي نبرة من الحياة السابقة، ومع كل خطوة تكتشف آثاراً تروي حكايات لا يمكن لأحد أن يسمعها سواها. هكذا، تمثل تلك القطة الوحيدة مارست الصمود في هذا العالم المهجور، حاملةً معها رمزًا صامدًا للحياة في مواجهة النهاية.
	</p>
</blockquote>

<h2 id="-2">
	كيف تعمل نماذج الذكاء الاصطناعي التوليدي؟
</h2>

<p>
	ظن البشر لفترة طويلة أنهم هم وحدهم مصدر الإبداع الفني وأن كتابة القصص أو تأليف الموسيقى أو غيرها من الأعمال الإبداعية سمات إنسانيّة فريدة يصعب تكرارها أو محاكاتها. لكن أظهر الذكاء الاصطناعي التوليدي في يومنا هذا خلاف ذلك فقد تمكنت هذه النماذج من إنشاء محتوى لا يُمكن تمييزه عن المحتوى في كثير من الأحيان عن المحتوى الذي ينتجه الإنسان، وهذا يطرح سؤالًا: كيف تعمل هذه النماذج؟ إليك شرحًا مفصلًا يوضح لك آلية عملها:
</p>

<p>
	تُدرّب نماذج الذكاء الاصطناعي التوليدي على مجموعات بيانات كبيرة وتتعلم منها الأنماط والعلاقات بين البيانات، مثلًا يتعلم نموذج توليد النصوص العلاقات السياقية والدلالية للكلمات، بينما يتعلم نموذج توليد الصور العلاقات البصرية بين البكسلات وبعدها تستخدم النماذج هذه الأنماط التي تعلمتها لإنشاء محتوى جديد.
</p>

<p>
	إليك تشبيهًا مبسطًا يوضح كيف ينتقل نموذج توليد النصوص من المرحلة التدريبية إلى مرحلة الإنتاج.
</p>

<p>
	تخيل متدربًا يتعلم الطهي عن طريق دراسة وصفات الطهي، ولذلك يُطلب منه دراسة كتاب طهي يحتوي على مجموعة متنوعة من الوصفات التي تتدرّج في المستوى من البسيطة إلى الصعبة. يتعلّم المُتدرّب أثناء دراسته للوصفات العلاقات بين المكونات وتعليمات الطهي وكلما درس المزيد من الوصفات زادت الأنماط التي تعلّمها. وهنا يبدأ في بناء نموذج عقلي لعملية الطهي.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="143000" href="https://academy.hsoub.com/uploads/monthly_2024_01/3.png.88a469cf3b078d1136dd93328e5a2e30.png" rel=""><img alt="3" class="ipsImage ipsImage_thumbnailed" data-fileid="143000" data-unique="j8iq4v4sb" src="https://academy.hsoub.com/uploads/monthly_2024_01/3.png.88a469cf3b078d1136dd93328e5a2e30.png"> </a>
</p>

<p>
	لقد لاحظ أن ذكر "الشوكولاتة" و"السكر" غالبًا ما يتبعه عملية الخبز. ولاحظ أيضًا أن مصطلحات مثل "الغليان" غالبًا ما يتبعها مكونات مثل "الماء" أو "المعكرونة". كما يساعده معلمه أيضًا على التعلّم من خلال مطالبته بتوقّع ما سيأتي بعد ذلك في الوصفة ويتحقق المُعلّم من توقعاته ويعاقبه على الخطأ في الوصفات ويكافئه على جودتها. تعمل هذه العملية التكرارية للتوقّع والتصحيح ولعدد كبير جدًا من الوصفات، على تحسين فهمه وزيادة دقة تنبؤاته.
</p>

<p>
	وأخيرًا وبعد كل هذا التدريب يطرح المُعلّم تحدّيًا أخيرًا: "اصنع وصفة جديدة لكعكة الشوكولاتة". يستلهم المُتدرب من جميع الوصفات التي درسها، ومن فهمه الدقيق لعملية الطهي، لإنشاء وصفة جديدة. قد تكون الوصفة الناتجة حديثًا مستوحاة من الوصفات السابقة، ولكنها تمثل إبداعًا فريدًا من نوعه.
</p>

<p>
	تُدرّب نماذج الذكاء الاصطناعي التوليدية بطريقة مماثلة، وتُمنح إمكانية الوصول إلى مجموعات بيانات كبيرة مثل الصور أو مقاطع الفيديو أو الصوت أو النص، وتتعلّم الأنماط والعلاقات بين البيانات وتستخدم هذه المعرفة لإنشاء محتوى جديد.
</p>

<p>
	هذا بالطبع شرح مبسط بمفردات مفهومة ليساعدك على فهم كيفية عمل نماذج الذكاء الاصطناعي التوليدية، لكن العملية الفعلية أكثر تعقيدًا بالطبع وتتضمن حسابات وخوارزميات رياضيّة معقدة. ومع ذلك، يظل المبدأ الأساسي كما هو: تتعلم هذه النماذج أنماطًا من البيانات، وتستخدم هذه المعرفة لإنشاء محتوى جديد.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="-3">
	المفاهيم الخاطئة حول الذكاء الاصطناعي التوليدي
</h2>

<p>
	تظهر قدرات النماذج التوليديّة للذكاء الاصطناعي بوضوح في المحتوى الذي تنتجه، وهذا ما يؤدي في كثير من الأحيان إلى تصوّرات خاطئة حول تصميمها وقدراتها. دعونا نتناول بعض هذه الافتراضات الخاطئة.
</p>

<h3 id="-4">
	هل أصبحت نماذج الذكاء الاصطناعي التوليدية مُدركة أو واعية؟
</h3>

<p>
	بالطبع لا. هذه النماذج لا تُفكر ولا تشعُر وتفتقر إلى فهم للمحتوى الذي تُنتجه أو البيئة المحيط بها. إنها ليست مُدركة لذاتها أو لبيئتها المحيطة فهي تشبه آلة إنتاج الخبز ولاتتضمّن أي ترتيب هندسي أو معماري مُشابه للوعي الذاتي. وبالرغم من أن هذه النماذج تُنتج محتوى يبدو ناتجًا عن إدراك للذات إذا توفّرت له الإرشادات والمعايير الصحيحة، ولكن هذا مجرد انعكاس للبيانات التي تدرّبت عليها -بعبارة أخرى، إنها تحاكي ما تتعلمه لكنها لا تعيه ولا تدركه.
</p>

<h3 id="-5">
	هل نماذج الذكاء الاصطناعي التوليديّة خالية من التحيّز؟
</h3>

<p>
	لا قطعًا. تُدرّب هذه النماذج على كميات هائلة من البيانات التي أنشأها البشر. يأتي الكثير من هذه البيانات من الإنترنت، وكما نعلم فشبكة الإنترنت تتضمّن الكثير المعلومات الخاطئة والسلبية. وبما أن هذه النماذج تُدرّب على هذه البيانات، فإنها بلاشك تعكس محتواها سواءًا أكان إيجابيًّا أم سلبيًّا. وبالتالي فإن الاعتماد الكامل على هذه النماذج يشبه الثقة بالأشخاص المجهولين على الإنترنت. قد تكون المعلومات التي يقدمونها صحيحة، ولكن من الحكمة أن تكون متحفظًا على ما تستقيه منهم من معلومات.
</p>

<p>
	<strong>ملاحظة</strong>: يشير مصطلح التحيّز Bias في سياق الحديث عن المعلومات التي تولّدها أو تنتجها نماذج الذكاء الاصطناعي إلى فكرة ميل إجاباتها لأفكار أو منطق أو اتجاهات معينة. مثلًا، قد تُنتج النماذج المُدرّبة على نصوص تتضمّن تحيزات عنصرية أو عرقية (مثل التمييز بين البيض والسود)، إجابات عنصرية.
</p>

<h3 id="-6">
	هل نماذج الذكاء الاصطناعي التوليديّة دقيقة؟
</h3>

<p>
	الإجابة هي نعم ولا، ففي بعض الحالات قد تكون إجاباتها دقيقة ومحكمة، وفي بعض الأحيان قد تكون إجاباتها مُضللة وخاطئة. في الواقع هذه النماذج مُصابة بما يُسميّه الباحثون "الهلوسة"، أي أن هذه النماذج من الممكن أن تُعطيك إجابات من وحي الخيال وربما خاطئة تمامًا، لكن تُقدّمها بطريقة مُقنعة للغاية. هذا درس تعلمه بعض الأشخاص بطريقة صعبة. وبالنتيجة <strong>يجب عليك دائمًا أن تتحقق من المعلومات التي تنتجها نماذج الذكاء الاططناعي التوليدية من مصادر موثوقة</strong>.
</p>

<h3 id="-7">
	هل سيحل الذكاء الاصطناعي مكان عملي؟
</h3>

<p>
	في الواقع الجواب قد يكون نعم للأسف! فهذا يعتمد على مهنتك ودورك في العمل. فكما فقد الأشخاص الذين كانوا يعملون في إضاءة الشوارع وإشعال الفوانيس عند الغسق وإطفائها عند الفجر في القرن السادس عشر عملهم عند اختراع الكهرباء والمصباح الكهربائي، وكما ألغت السيارات وجود العربات التي تجرُّها الخيول، قد تلغي نماذج الذكاء الاصطناعي بعد فترة وجيزة كثيرًا من المهن الحالية لكنها بكل تأكيد ستحمل معها وظائف جديدة في ذات الوقت.
</p>

<p>
	قد يُقلل الذكاء الاصطناعي من حجم العمالة في بعض المهام، مما يسمح لعدد أقل من الأشخاص بإنجاز المزيد. إذًا ومما لا شك فيه سينتج الذكاء الصناعي أيضًا وظائف جديدة تتطلب مهارات جديدة، مثل مجال هندسة النصوص المُدخَلة Prompt engineering الناشئ. فقد أظهر التاريخ دائمًا أن التغيير هو الثابت الوحيد والتكيّف مع هذا التغيير المستمر هو المفتاح لمواصلة النجاح.
</p>

<p>
	لقد تناول هذا القسم مجرد معلومات سطحيّة فيما يتعلق بالاعتقادات الخاطئة السائدة حول الذكاء الاصطناعي التوليديّ، وسنناقش في الفقرات التالية أبرز المخاوف <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-%D8%A7%D9%84%D8%AA%D8%AD%D8%AF%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9-%D9%88%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%B3%D8%B9-%D9%81%D9%8A-%D8%A7%D9%84%D9%85%D8%AC%D8%A7%D9%84-r1010/" rel="">والتحديات</a> المرتبطة بهذا العلم الحديث.
</p>

<h2 id="-8">
	ما هي المخاوف الأخلاقية المرتبطة بالذكاء الاصطناعي التوليدي؟
</h2>

<p>
	تُضخّم تقنية الذكاء الاصطناعي التوليدي لإنتاج المحتوى المعضلات الأخلاقية الحالية وتُدخل أخرى جديدة. دعونا نستكشف بعض هذه المخاوف بشكل أكبر.
</p>

<h3 id="-9">
	الأمن السيبراني
</h3>

<p>
	يمكن استخدام نماذج الذكاء الاصطناعي التوليدي لتجاوز الاختبارات الآلية CAPTCHA وتدابير الأمان الأخرى، مما قد يؤدي في نهاية المطاف إلى زيادة في <a href="https://academy.hsoub.com/devops/security/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D8%A3%D9%85%D9%86-%D8%A7%D9%84%D8%B3%D9%8A%D8%A8%D8%B1%D8%A7%D9%86%D9%8A-%D9%88%D9%85%D8%A7-%D8%A3%D9%87%D9%85%D9%8A%D8%AA%D9%87%D8%9F-r664/" rel="">هجمات الأمن السيبراني</a>. كما يمكن أيضًا استخدامها لإنشاء مابُسمّى بالتزييف العميق deepfakes، وهي وسائط اصطناعية (صور، فيديوهات، أصوات) تظهر وكأنها حقيقية وغير مُزيّفة، وذلك باستخدام تقنيات التعلم العميّق. قد يؤدي ذلك إلى نشر المعلومات الخاطئة وقد تُستخدم قدرة هذه النماذج على إنشاء شيفرات برمجية في مجموعة واسعة من لغات البرمجة لأداء عمليات الاختراق تلقائيًا بمساعدة الذكاء الاصطناعي.
</p>

<h3 id="-10">
	التحيّز والتمييّز
</h3>

<p>
	ستؤدي نماذج الذكاء الاصطناعي التوليدي إلى تبني التحيزات الاجتماعية الموجودة في بيانات التدريب، مما يؤدي إلى إنتاج نتائج غير عادلة أو تمييزية، بالتالي سيؤدي إلى حلقة راجعة إن لم يُعالج، حيث تُستخدم النتائج المُتحيّزة كبيانات تدريب للنماذج المستقبلية مما يُعزز التحيّز أكثر. وبالتالي فإن استخدام الذكاء الاصطناعي التوليدي في اتخاذ قرارات تؤثر في حياة الناس، مثل السياسات العامة والتوظيف أو العدالة الجنائية، يمكن أن يؤدي إلى نتائج غير عادلة أو تمييّزية.
</p>

<h3 id="-11">
	المعلومات الخاطئة والأخبار الزائفة
</h3>

<p>
	يمكن استخدام نماذج الذكاء الاصطناعي التوليدي لإنشاء أخبار زائفة أو دعاية أو أشكال أخرى من المعلومات على نطاق غير مسبوق. يمكن استخدام ذلك للتأثير على الرأي العام أو لتوجيه الانتخابات أو حتى لحث العنف. تتزايد هذه المخاوف عند الجمع بينها وبين التزييف العميق الذي تحدثنا عنه منذ قليل.
</p>

<h3 id="-12">
	الخصوصية
</h3>

<p>
	يمكن تدريب النماذج المُقدمة من البائع على أي من البيانات العامة أو الخاصة أو كليهما، وقد يؤدي استخدام البيانات الخاصة في تدريب النماذج -مثل السجلات الطبية- إلى كشف هذه النماذج عن غير قصد عن معلومات حسّاسة. من ناحية أخرى يمكن استخدام البيانات العامة -مثل منشورات وسائل التواصل الاجتماعي- لاستنتاج معلومات خاصة عن الأفراد، وبالتالي انتهاك الخصوصية أو حتى الابتزاز.
</p>

<h3 id="-13">
	الملكية الفكرية
</h3>

<p>
	يتجاوز الذكاء الاصطناعي التوليدي النظام القانوني ولايتقيّد به، وهذا ما يُثير تساؤلات حول الملكية الفكرية وحقوق المحتوى الذي يُنتجه الذكاء الاصطناعي. يُشكل ذلك قلقًا خاصًا بالنسبة لمُنشئي المحتوى الإبداعي، مثل الفنانين، والموسيقيين، والكتّاب الذين يعتمدون على إبداعاتهم الفريدة.
</p>

<h3 id="-14">
	فقدان الطابع الإنساني
</h3>

<p>
	يُستخدم الذكاء الاصطناعي التوليدي في وقتنا الحالي بكثرة، ويستمر في استبدال بعض الوظائف التي تتضمّن تفاعلات بشرية. تحل روبوتات الدردشة الآلية حاليًا محل مُمثلي خدمة العملاء، ومن المرجح أن تستمر هذه الاتجاهات في مجالات أخرى. يمكن أن يؤدي ذلك إلى فقدان الطابع الإنساني في التفاعلات البشرية، مما قد يؤدي إلى تقليل التعاطف والشفقة.
</p>

<h3 id="-15">
	السلامة والموثوقية
</h3>

<p>
	يثير استخدام الذكاء الاصطناعي التوليدي في التطبيقات الحيوية، مثل المركبات ذاتية القيادة وتشخيص الأمراض الطبية والتطبيقات العسكرية مخاوف حول السلامة والموثوقية. إذ يمكن أن تؤدي النتائج غير المتوقعة إلى وقوع حوادث أو إصابات أو حتى خسائر في الأرواح. لهذا يتطلب استخدام الذكاء الاصطناعي التوليدي في التطبيقات المهمة دراسة متأنية واختبارات مكثّفة لضمان سلامة مستخدميه.
</p>

<h3 id="-16">
	الشفافيّة والمساءلة
</h3>

<p>
	غالبًا ما تكون نماذج الذكاء الاصطناعي صناديق سوداء، مما يصعب فهم كيفية عملها أو لماذا تتخذ قرارات معينة. كما تنتج هذه النماذج نتائج مختلفة لنفس المُدخلات، مما يجعل من الصعب توقّع سلوكها. وهذا يطرح تساؤلًا مهمًا من المسؤول عندما يرتكب نموذج الذكاء الاصطناعي التوليدي خطأً ما؟ وكيف يمكننا ضمان استخدام هذه النماذج بطريقة مسؤولة؟ هذه أسئلة تحتاج إلى دراسة وبحث متأنيين.
</p>

<p>
	هذا القسم يُلامس فقط بعض الأمور السطحية المتعلّقة بالمخاوف الأخلاقية المحيطة بالذكاء الاصطناعي التوليدي. وإدراك هذه المخاوف أمر بالغ الأهمية لفهم تأثير التقنية على حياتنا.
</p>

<h2 id="-17">
	حالات استخدام الذكاء الاصطناعي التوليدي
</h2>

<p>
	لنستكشف بعض الصناعات وحالات الاستخدام المختلفة حيث يُطبّق الذكاء الاصطناعي التوليدي أو لديه الإمكانية للتطبيق.
</p>

<h3 id="-18">
	القطاع التقني
</h3>

<p>
	أصبح الذكاء الاصطناعي التوليدي إضافة لا غنى عنها لسير العمل في تطوير البرمجيات. يُستخدم في إنشاء وشرح الشيفرات البرمجية والاختبارات التلقائية وتوثيقات الشيفرات البرمجية وتحديث الأنظمة القديمة. كما يُستخدم أيضًا في مجموعة من تطبيقات الأمان السيبراني مثل القرصنة الآلية واكتشاف البرامج الضارة واكتشاف التسلل واكتشاف الثغرات الأمنية.
</p>

<h3 id="-19">
	القطاع المالي
</h3>

<p>
	يكتسب الذكاء الاصطناعي التوليدي قوته من كميات كبيرة من البيانات، مما يجعل القطاع المالي الغني بالبيانات مكانًا طبيعيًا لتطبيق الذكاء الاصطناعي التوليدي. يمكن استخدامه لأتمتة التحليل المالي وتقليل المخاطر وتحسين العمليات. يمكن أيضًا استخدامه لإنشاء محتوى مثل الملخصات وتحويل النص إلى رسوم بيانية.
</p>

<h3 id="-20">
	التجارة الإلكترونية
</h3>

<p>
	يُستخدم الذكاء الاصطناعي التوليدي لتحسين مشاركة العملاء وكفاءة العمليات في مجال التجارة الإلكترونية. حيث يمكنه توفير معلومات فورية وحديثة حول سلوك العملاء وتفضيلاتهم، ثم استخدام هذه المعلومات لتعزيز وتحسين تجربة التسوّق الشاملة للعملاء. كذلك نستطيع استخدام تقنيات الذكاء الاصطناعي التوليدي لإنشاء روبوتات الدردشة والوكلاء الافتراضيين الذين يعملون كمُمثلين لخدمة العملاء يعملون على مدار الساعة طوال أيام الأسبوع. يمكن للذكاء الصناعي أيضًا إنتاج وتحديث أوصاف المنتج والمحتوى التسويقي.
</p>

<h3 id="-21">
	الرعاية الصحية
</h3>

<p>
	يُطبق الذكاء الاصطناعي التوليدي على مجموعة واسعة من حالات استخدام الرعاية الصحية، بما في ذلك التصوير الطبي واكتشاف الأدوية ورعاية المرضى والتنبؤ بتطور الأمراض. يُستخدم لتحليل الصور الطبية واكتشاف الشذوذ وتوقّع تقدم الأمراض. يُستخدم أيضًا لاكتشاف أدوية وعلاجات جديدة وتحسين رعاية المرضى.
</p>

<h3 id="-22">
	التعليم
</h3>

<p>
	يُستخدم الذكاء الاصطناعي التوليدي لأتمتة عمليات اكتشاف الانتحال وإنشاء مشاكل للتدرّب على حلّها وتقديم تغذية راجعة أو تعليقات لهم. يمكن أن يُستخدم أيضًا لإنشاء تجارب تعليميّة مُخصصة مثل المعلمين الافتراضيين وإنشاء محتوى تعليمي. هذا يؤدي إلى إمكانية حدوث تحوّل كبير في الطريقة التي يتعلم بها الطلاب ويتفاعلون مع المحتوى.
</p>

<h3 id="-23">
	صناعة السيارات
</h3>

<p>
	يُستخدم الذكاء الاصطناعي التوليدي لتحسين تصميم المركبات وعمليات الهندسة والتصنيع وتطوير المركبات ذاتية القيادة. تستفيد شركات مثل تويوتا ومرسيدس وبي إم دبليو من الذكاء الاصطناعي لتسريع سير العمل وتحسين الإنتاجية ودفع الابتكار.
</p>

<h3 id="-24">
	الترفيه ووسائل الإعلام
</h3>

<p>
	يمكن للذكاء الاصطناعي التوليدي أن يُحدث تحوّلًا جذريًا في صناعة الترفيه إذ يمكن استخدامه في إنشاء المحتوى النصي والموسيقى والأفلام وألعاب الفيديو. يمكن أن يعزز أشكال الترفيه الحالية ويخلق أشكالًا جديدة. إلا أنّه يثير أيضًا مخاوف أخلاقية كبيرة، مثل سوء الاستخدام وقضايا حقوق الملكية الفكرية.
</p>

<h3 id="-25">
	المجال القانوني
</h3>

<p>
	وجد الذكاء الاصطناعي التوليدي مجموعة من التطبيقات في القطاع القانوني كمراجعة العقود والبحث القانوني. يُمكن أن يُمكّن المحترفين القانونيين من التركيّز على المهام عالية المستوى، من خلال أتمتة المهام المستهلكة للوقت والمتكررة.
</p>

<p>
	بالرغم من أن الذكاء الاصطناعي التوليدي يوفّر الوقت والجهد إلا أن إمكانيته لإنتاج معلومات مزيفة تتطلب اعتبارًا ورصدًا دقيقين.
</p>

<h3 id="-26">
	التخطيط العمراني
</h3>

<p>
	للذكاء الاصطناعي التوليدي مجموعة واسعة من حالات الاستخدام في التخطيط الحضري، بما في ذلك تحسين تدفق حركة المرور وتحسين الاستعداد للكوارث وتحسين النمو المستدام وتعزيز إمكانية الوصول والسلامة في الأماكن الحضرية. واليوم تقدم شركات مثل Digital Blue Foam أدوات تعتمد على الذكاء الاصطناعي للتخطيط الحضري.
</p>

<h3 id="-27">
	الزراعة
</h3>

<p>
	يُظهر الذكاء الاصطناعي التوليدي الكثير من الأمل في العمل الزراعي وقطاع الزراعة. يمكن استخدامه لتحسين إنتاجية المحاصيل وتقليل استخدام المبيدات الحشرية ومنع الخسائر في المحاصيل وحتى تصميم البروتينات النباتية. هذا يمكن أن يساعد في ضمان الأمن الغذائي والحد من الأثر البيئي.
</p>

<h2 id="-28">
	العلوم البيئية
</h2>

<p>
	يُستخدم الذكاء الاصطناعي التوليدي في العلوم البيئية كنمذجة تغيّر المناخ ومكافحة التلوّث. كما يُستخدم أيضًا لتحليل البيانات البيئية والتنبؤ بالتغيرات البيئية والمساهمة بالمعلومات التي يمكن استخدامها في صياغة وتطوير السياسات البيئية. من جانب آخر هناك جانب مظلم يُسقطه الذكاء الاصطناعي التوليدي خاصة عند تدريب النماذج الكبيرة، مثل النفايات الإلكترونية واستهلاك طاقة والموارد (إذا لم تكن هذه الطاقة مأخوذة من مصادر مستدامة، قد يكون لها تأثير سلبي على البيئة) ويعتبر ذلك مصدر قلق متزايد يجب معالجته من أجل ضمان أن يكون الذكاء الاصطناعي جزءًا من مستقبل مستدام.
</p>

<h2 id="-29">
	كيف يبدو مستقبل الذكاء الاصطناعي التوليدي؟
</h2>

<p>
	رغم أن <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مستقبل التقنية</a> المتعلق بتطوّر الذكاء الاصطناعي التوليدي غير واضح تمامًا حتى اليوم، إلا أن تقدمه الملحوظ والمستمر بما يُقدّمه من نماذج وتطبيقات جديدة يشير إلى أهمية هذا المجال وديمومته. إذ يُظهر الواقع الراهن في هذا المجال أنه يمكننا استنتاج بعض الأفكار حول اتجاهات الذكاء الاصطناعي التوليدي في المستقبل. لذلك يمكننا أن نتأمل ونبني توقعاتنا حول المسار المستقبلي المحتمل للذكاء الاصطناعي التوليدي، ونتوقع أنه سيشهد المزيد من التحسينات على النتائج التي سيولدها، فقد تمكنت نماذج النصوص والصور والصوت والفيديو بالفعل من إنتاج محتوى يشبه إلى حد كبير ما يُنتجه الإبداع البشري ويتوقع أن تزداد جودة ودقة المحتوى في المستقبل القريب.
</p>

<p>
	لكن هناك بعض المعوقات التي تقف في وجه هذا التطوّر، مثل التكاليف المرتفعة والمتطلبات العتاديّة التي تحد من توفر هذه النماذج وتطورها. طبعًا يمكننا استخدام نماذج أصغر وأقل قوة يمكنها أن تعمل على أجهزة محمولة معينة إلا أن ذلك يؤثر على أداءها وقوتها وتبنيها، لذا يمكننا أن نتوقع وجود توجهات تعالج هذه القضايا كتصميم الأجهزة والنماذج بطريقة تجعل الوصول أكثر انتشارًا وأوسع نطاقًا.
</p>

<p>
	من ناحية أخرى يُرجّح أن يصبح الذكاء الاصطناعي التوليدي أكثر تفاعلية، وذلك من خلال استجابة النماذج لتعليقات المستخدمين والتكيّف مع تفضيلاتهم وحتى التعلّم من تفاعلاتهم معها. يتيح ذلك تجارب أكثر تخصيصًا ونماذج تلبي التفضيلات الشخصيّة كما يساهم في تغيير الطريقة التي نتفاعل بها مع البرامج والخدمات، حيث تصبح التفاعلات اللغوية هي القاعدة.
</p>

<p>
	تُنشأ حاليًا أنواع مختلفة من المحتوى (كالفيديو والنص) وكل منها تُنتج بسرعات متفاوتة، حيث يظهر النص كأحد أسرع الأشكال، بينما يتطلب الفيديو وقتًا أطول. وهذا يُشير إلى احتمالية ظهور تطبيقات جديدة وفريدة لاسيما عندما تكون نماذج الذكاء الاصطناعي التوليدي قادرة على إنشاء محتوى في الزمن الحقيقي.
</p>

<p>
	يُعتبر دمج الذكاء الاصطناعي التوليدي من ناحية أخرى في <a href="https://academy.hsoub.com/programming/game-development/%D9%85%D8%AD%D8%B1%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-game-engines/" rel="">محركات ألعاب الفيديو </a>فكرة رائعة لتعزيز الانغماس والتفاعل مع الألعاب. يمكن لبيئات اللعبة أن تولّد عوالمًا كاملةً ديناميكيًا مع إمكانيّة تعديلها بناءً على سلوك اللاعب، كما يمكن <a href="https://academy.hsoub.com/programming/game-development/%D8%B4%D8%AE%D8%B5%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%84%D8%B9%D8%A7%D8%A8-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D9%86%D8%A7%D8%AC%D8%AD%D8%A9-r2212/" rel="">لشخصيات الألعاب</a> الافتراضية التي تشبه الأفراد الحقيقيين لحدٍ ما، أن تُقدم للاعبين تفاعلات فريدة من نوعها وهذا الخروج عن الأساليب التقليديّة يمكن أن يحوّل صناعة الألعاب ويجعلها أكثر تميّزًا.
</p>

<p>
	ومن ناحية التعليّم والتعلّم، قد تظهر أساليب جديدة ومبتكرة تتضمن تفاعل الطلاب مع معلمين رقمييّن يلبون أساليب التعلّم المُخصصة والقابلة للتكيّف مع حاجات الطلاب. هناك إمكانية للطلاب لإجراء محادثات مع تجسيدات افتراضية لشخصيات تاريخية، كما ستتاح إمكانية توفير المعلومات بتنسيقات متنوعة، مثل النص أو الصوت أو الفيديو، وذلك اعتمادًا على التفضيلات الشخصية وبهذا يمكن للطالب اختيار طريقة التعلم التي تناسبه.
</p>

<p>
	ستوفر التطورات في الواقع المعزز Augmented reality والواقع الافتراضي Virtual reality طرقًا جديدة للذكاء الاصطناعي التوليدي، حيث من المرجّح أن يصبح كل من الواقع المعزز والواقع الافتراضي أكثر واقعية وانتشارًا، وذلك بفضل قدرات نماذج الذكاء الاصطناعي التوليدي على إنشاء محتوى في الزمن الحقيقي ويؤدي إلى توفير أشكال جديدة من الترفيه والفنون، مثل الأفلام التفاعلية.
</p>

<p>
	وفي الختام يمكننا القول أن جودة بيانات التدريب قد تكون العامل المُميّز بين النماذج. قد يتحوّل دور مُنشئي المحتوى التقليدي نحو إنشاء بيانات التدريب وتنظيمها والحفاظ عليها فالحفاظ على بيانات التدريب حديثة وذات صلة بالمجال المُحدّد يمكن أن يضمن بقاء المحتوى المُنشأ ديناميكيًا ودقيقًا وحديثًا. ومن المرجح أن تصبح بيانات التدريب عالية الجودة هي الميزة التنافسية بين نماذج الذكاء الاصطناعي التوليدي المختلفة.
</p>

<h2 id="-30">
	خاتمة
</h2>

<p>
	تعرفت في مقال اليوم على الذكاء الاصطناعي التوليدي أحد أكثر مجالات الذكاء الاصطناعي السائدة في يومنا هذا والآخذة بالتطور المستمر، والتي بدأت تغير الطريقة التي نتفاعل بها مع البرامج والخدمات. بالطبع لا تزال هذه التقنية في مهدها ولازال هناك العديد من الأسئلة والمخاوف الأخلاقية المرتبطة بها والتي لم توضع لها أجوبة نهائية، لكن هناك شيء واحد يمكننا القول أنه مؤكد وهو أن الذكاء الاصطناعي موجود ليبقى ويُرجّح أن يصبح أكثر انتشارًا في حياتنا اليومية ومن الواجب علينا أن نعي تأثيرات صعود الذكاء الاصطناعي التوليدي ونفهم هذه التقنية وقدراتها ونستغلها بطريقة نافعة.
</p>

<p>
	ترجمة -وبتصرُّف- للمقال <a href="https://cloudacademy.com/blog/introduction-to-generative-ai/" rel="external nofollow">Introduction to Generative AI</a> لصاحبه Ben Lambert.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">أنواع الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/apps/web/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-chatgpt-api-%D9%84%D8%AA%D8%AD%D8%B3%D9%8A%D9%86-%D8%AE%D8%AF%D9%85%D8%A7%D8%AA%D9%83-%D8%B9%D8%A8%D8%B1-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r909/" rel="">دليل استخدام ChatGPT <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> لتحسين خدماتك عبر الإنترنت</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/javascript/nodejs/express/%D8%AF%D9%84%D9%8A%D9%84%D9%83-%D9%84%D8%B1%D8%A8%D8%B7-%D9%88%D8%A7%D8%AC%D9%87%D8%A9-openai-api-%D9%85%D8%B9-nodejs-r2233/" rel="">دليلك لربط واجهة OpenAI <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr> مع Node.js</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي: بناء مستقبل الآلات الذكية</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2234</guid><pubDate>Fri, 02 Feb 2024 12:09:01 +0000</pubDate></item><item><title>&#x645;&#x643;&#x62A;&#x628;&#x627;&#x62A; &#x648;&#x623;&#x637;&#x631; &#x639;&#x645;&#x644; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;: &#x627;&#x644;&#x642;&#x648;&#x629; &#x627;&#x644;&#x643;&#x627;&#x645;&#x646;&#x629; &#x62E;&#x644;&#x641; &#x627;&#x644;&#x623;&#x646;&#x638;&#x645;&#x629; &#x627;&#x644;&#x630;&#x643;&#x64A;&#x629;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D9%88%D8%A3%D8%B7%D8%B1-%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_11/------.png.4d47d25a6fde0a45a1da35c7d9ad33fd.png" /></p>
<p>
	شهد <span ipsnoautolink="true">الذكاء الاصطناعي Artificial Intellegence</span> تحولًا ملحوظًا في العقد الأخير من الزمن، حيث خرج من عوالم الخيال العلمي إلى حياتنا اليومية. إنه القوة المُشغّلة للمساعدين الافتراضيين وأدوات التشخيص الطبي المتطورة والسيارات ذاتية القيادة وعمليات صنع القرار المعتمدة على البيانات في مختلف الصناعات وعدد لا يحصى من التطبيقات الأخرى التي تعيد تعريف كيفية تفاعلنا مع التكنولوجيا. ولكن ما الذي يُمكّن ثورة الذكاء الاصطناعي هذه بالضبط؟ خلف الكواليس، إنه عالم مكتبات وأطر عمل الذكاء الاصطناعي الرائع.
</p>

<p>
	مكتبات وأطر عمل الذكاء الاصطناعي هي من يمكّن المطورين من تحويل مفاهيم الذكاء الاصطناعي إلى واقع. فهي توفر اللبنات الأساسية والأدوات والموارد اللازمة لصياغة أنظمة ذكية، مما يجعل عملية التطوير أكثر كفاءة ويمكن تحقيقها أكثر من أي وقت مضى.
</p>

<p>
	في هذه المقالة الشاملة لمكتبات وأطر عمل الذكاء الاصطناعي، سنكشف عن أهمية مكتبات وأطر عمل الذكاء الاصطناعي ونفهم سبب أهميتها ونتعمق في أهم وأبرز الخيارات التي تساعد مطوري الذكاء الاصطناعي في جميع أنحاء العالم على أداء مهامهم.
</p>

<h2 id="">
	الفرق بين مكتبات الذكاء الاصطناعي وأطر عمل الذكاء الاصطناعي
</h2>

<p>
	مكتبات الذكاء الاصطناعي عبارة عن مقتطفات أو وحدات برمجية مكتوبة مسبقًا توفر عددًا كبيرًا من الدوال Functions والأصناف Classes المصممة لأداء مهام محددة. يمكن أن تتراوح هذه المهام من معالجة اللغة الطبيعية NLP والرؤية الحاسوبية CV إلى التعلم المعزز RL والتعلم العميق DL. على عكس الأطر، لا تفرض المكتبات بنية محددة على المشروع بأكمله. وبدلاً من ذلك، فهي تقدم حلولاً محددة للمشكلات المستهدفة، مما يجعلها أدوات متعددة الاستخدامات للمطورين.
</p>

<p>
	عمومًا، تتصف أطر العمل بما يلي:
</p>

<ol>
	<li>
		<strong>الكفاءة</strong>: تعمل أطر عمل الذكاء الاصطناعي على تبسيط عملية التطوير من خلال توفير الأدوات والمكتبات والوظائف المعدة مسبقًا، مما يقلل حاجة المطورين إلى إعادة اختراع العجلة. تعمل هذه الكفاءة على تسريع تطوير مشروع الذكاء الاصطناعي.
	</li>
	<li>
		<strong>قابلية التوسع</strong>: توفر أطر العمل قابلية التوسع، مما يسمح للمطورين بالانتقال من التجربة على جهاز واحد إلى نشر النماذج على مجموعات من الأجهزة القوية أو حتى بيئات الحوسبة الموزعة.
	</li>
	<li>
		<strong>دعم المجتمع</strong>: تتمتع العديد من أطر عمل الذكاء الصناعي بدعم مجتمعي واسع النطاق. يُترجم هذا إلى ثروة من الموارد والبرامج التعليمية ومجتمع من المطورين الذين يمكنهم المساعدة في حل المشكلات، مما يجعل التطوير أكثر سلاسة.
	</li>
	<li>
		<strong>قابلية التشغيل البيني</strong>: غالبًا ما تدعم أطر عمل الذكاء الصناعي لغات برمجة متعددة ويمكن دمجها مع أدوات أخرى، مما يعزز مرونتها وتوافقها مع الأنظمة الحالية.
	</li>
	<li>
		<strong>تحسين الأداء</strong>: تتضمن تقنيات التحسين لجعل نماذج الذكاء الصناعي تعمل بشكل أسرع وتستهلك موارد أقل، وهو أمر بالغ الأهمية للتطبيقات التي تعمل في الزمن الحقيقي Real Time والأجهزة محدودة الموارد.
	</li>
</ol>

<p>
	باختصار، تعمل مكتبات وأطر الذكاء الصناعي على تمكين المطورين من التركيز على بناء نماذج الذكاء الصناعي وتحسينها بدلًا من التورط في تعقيدات التنفيذ على المستوى المنخفض، مما يجعل تطوير الذكاء الصناعي أكثر سهولة وكفاءة.
</p>

<p>
	لمزيد من التفاصيل، ارجع إلى مقال <a href="https://academy.hsoub.com/programming/general/%D8%A5%D8%B7%D8%A7%D8%B1-%D8%B9%D9%85%D9%84-framework/" rel="">تعرف على مفهوم إطار العمل Framework وأهميته في البرمجة</a>.
</p>

<h2 id="-1">
	أطر عمل الذكاء الاصطناعي
</h2>

<p>
	تبرز أطر عمل الذكاء الاصطناعي باعتبارها الأساس الذي تُبنى عليه <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a>، إذ ذكرنا أن هذه الأطر عبارة عن حزم برمجية شاملة مصممة لتبسيط وتسريع عملية إنشاء نماذج وحلول الذكاء الاصطناعي. إنها توفر للمطورين صندوق أدوات مليء بالخوارزميات والمكتبات والأدوات المساعدة المعدة مسبقًا، مما يمكنهم من التركيز على الجوانب التطبيقية والإبداعية للذكاء الاصطناعي مع تجاوز الكثير من كتابة الشيفرات المعقدة منخفضة المستوى.
</p>

<h3 id="-2">
	أشهر أطر عمل الذكاء الاصطناعي
</h3>

<p>
	سنذكر فيما يلي أطر عمل الذكاء الاصطناعي الأكثر شيوعًا والتي يعتمد عليها المطورون في إنشاء مشاريع الذكاء الاصطناعي الخاصة بهم وهي:
</p>

<ol>
	<li>
		تنسرفلو Tensorflow
	</li>
	<li>
		باي تورش PyTorch
	</li>
	<li>
		كيراس Keras
	</li>
</ol>

<h4 id="tensorflow">
	تنسرفلو Tensorflow: إطار العمل الأكثر استخدامًا
</h4>

<p>
	يعد تنسرفلو Tensorflow الذي طورته جوجل أحد أكثر أطر عمل الذكاء الاصطناعي مفتوحة المصدر استخدامًا وتنوعًا. يشتهر تنسرفلو بقابلية التوسع والمرونة، فهو تتيح للمطورين إنشاء <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%B9%D8%B5%D8%A8%D9%8A%D8%A9-%D9%84%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D8%A3%D8%B1%D9%82%D8%A7%D9%85-%D8%A7%D9%84%D9%85%D9%83%D8%AA%D9%88%D8%A8%D8%A9-%D8%A8%D8%AE%D8%B7-%D8%A7%D9%84%D9%8A%D8%AF-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D9%85%D9%83%D8%AA%D8%A8%D8%A9-tensorflow-r1267/" rel="">شبكات عصبية</a> كبيرة ومتطورة لتطبيقات الذكاء الاصطناعي المختلفة. أسلوب تنسرفلو في بناء الشبكات العصبية يُسهّل التوازي، مما يجعلها مثالية للتعامل مع معالجة البيانات على نطاق واسع.
</p>

<p>
	تمتد براعة تنسرفلو إلى أبعد من مجرد <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D9%84%D9%81%D9%87%D9%85-%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%82-r1422/" rel="">التعلم العميق</a>. يشتمل نظامها البيئي على أدوات للمعالجة المسبقة للبيانات وتقييم النماذج والنشر. بدءًا من الإصدار 2.0، تبنى إطار العمل هذا نهجًا أكثر سهولة في الاستخدام وأكثر بديهية من خلال تبسيط أسلوب بناء وتنفيذ الشبكات العصبية ودمج إطار العمل كيراس معه. تعمل هذه التحسينات على تمكين المطورين من التركيز على بناء النماذج بدلاً من التورط في تعقيدات التنفيذ.
</p>

<h4 id="pytorch">
	باي تورش PyTorch: إطار عمل الباحثين المفضل
</h4>

<p>
	يلبي باي تورش PyTorch احتياجات الباحثين وممارسي الذكاء الاصطناعي الذين يحتاجون إلى تحكم دقيق في نماذجهم. طُور باي تورش بواسطة مختبر أبحاث الذكاء الاصطناعي في فيسبوك، ويتبع نموذجًا حوسبيًا ديناميكيًا، مما يسمح للمستخدمين بتعريف نماذجهم وتعديلها وتصحيحها وتجريبها بسهولة. كما أن النظام البيئي ecosystem أو العمل في بيئة باي تورش يعد مرنًا للغاية.
</p>

<p>
	على الرغم من أن الطبيعة الديناميكية لباي تورش توفر مزايا في البحث والتجريب، فقد تأتي على حساب الأداء في سيناريوهات إنتاج معينة. الجهود الأخيرة (مثل إدخال <code>TorchScript</code>) تهدف إلى سد هذه الفجوة لجعل باي تورش خيارًا متعدد الاستخدامات لكل من البحث والنشر.
</p>

<h4 id="keras">
	كيراس Keras: تبسيط التعلم العميق باستخدام واجهة برمجة تطبيقات سهلة الاستخدام
</h4>

<p>
	ظهرت كيراس Keras، التي غالبًا ما توصف بأنها <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D9%84%D9%84%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-api%D8%9F-r1512/" rel="">واجهة برمجة تطبيقات</a>، كإطار عمل لكل من المبتدئين وحتى الممارسين ذوي الخبرة في مجال الذكاء الاصطناعي على حد سواء. طُور في البداية كمشروع مستقل <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D8%A7%D9%84%D9%85%D9%82%D8%B5%D9%88%D8%AF-%D8%A8%D9%85%D8%B5%D8%B7%D9%84%D8%AD-%D9%85%D9%81%D8%AA%D9%88%D8%AD-%D8%A7%D9%84%D9%85%D8%B5%D8%AF%D8%B1-open-source%D8%9F-r885/" rel="">مفتوح المصدر</a>، وقد تم الآن دمجه بالكامل مع تنسرفلو.
</p>

<p>
	تكمن قوته الأساسية في بساطته وسهولة استخدامه. يتخلص كيراس من تعقيدات تنفيذ النموذج، مما يسمح للمطورين بإنشاء شبكات عصبية معقدة ببضعة أسطر من التعليمات البرمجية.
</p>

<p>
	يتبع كيراس نموذج برمجة تصريحي عالي المستوى، مما يجعله مثاليًا للتجربة السريعة والنماذج الأولية، حيث تتطلّب عملية بناء النماذج والتدريب الحد الأدنى من التعليمات البرمجية. تأتي هذه البساطة مع مفاضلة، إذ قد تفتقر كيراس إلى المرونة والتحكّم الدقيق الذي توفره أطر العمل ذات المستوى الأدنى مثل تنسرفلو وباي تورش.
</p>

<h3 id="-3">
	أطر عمل الذكاء الاصطناعي الأقل شهرة
</h3>

<p>
	بالإضافة إلى أطر عمل الذكاء الاصطناعي المعروفة مثل تنسرفلو و باي تورش وكيراس، هناك العديد من الأطر القوية الأخرى التي اكتسبت شعبية في مجتمع الذكاء الاصطناعي. نذكر منها:
</p>

<ul>
	<li>
		<strong>كافي Caffe</strong>: طوره مركز BVLC ويتميز بسرعته وكفاءته في مهام تصنيف الصور.
	</li>
	<li>
		<strong>سينتك CNTK</strong>: يوفر أداءً عاليًا وقابلية للتوسع لمهام التعلم العميق. وهو يدعم العديد من هياكل الشبكات العصبية وقد تم استخدامه في مهام تتراوح من التعرف على الصور والكلام إلى معالجة اللغة الطبيعية.
	</li>
	<li>
		<strong>إم إكس نت MXNet</strong>: طورته شركة أباتشي Apache، هو إطار عمل بارز آخر مصمم لتحقيق أهداف الكفاءة والمرونة. يتميّز بقدرته على التكيف مع الشبكات العصبية الديناميكية. ساهم دعمه للغات برمجية متعددة، بما في ذلك بايثون وجوليا، في اعتماده على نطاق واسع.
	</li>
	<li>
		<strong>فاست إي آي Fast.ai</strong>: هو إطار عمل يتميز بتركيزه على إضفاء الطابع الديمقراطي على تعليم الذكاء الاصطناعي (جعل تعليم الذكاء الصناعي وموارده في متناول مجموعة واسعة من الأشخاص، بغض النظر عن خلفيتهم أو خبرتهم). يوفر واجهات برمجة تطبيقات ومكتبات سهلة الاستخدام لتبسيط مهام التعلم العميق المعقدة. هذا يجعله اختيارًا ممتازًا للمبتدئين والباحثين الذين يرغبون في تجربة نماذج الذكاء الاصطناعي ونماذجها بسرعة.
	</li>
	<li>
		<strong>أخيرًا ثيانو Theano</strong>: استخدم على نطاق واسع في الماضي لمهام التعلم العميق بسبب حسابه الفعال للتعابير الرياضية. على الرغم من أن ثيانو لم يعد نشطًا كما في السابق، إلا أنه لعب دورًا مهمًا في تشكيل مشهد أطر عمل الذكاء الاصطناعي الصناعي.
	</li>
</ul>

<p>
	تستمر هذه الأطر، جنبًا إلى جنب مع غيرها من الأطر التي لم تُذكر مثل تشينر Chainer و Deeplearning4j وأونكس ONNX، في إثراء <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a>، مما يوفر خيارات متنوعة للمطورين والباحثين للاستكشاف والابتكار في مجال الذكاء الاصطناعي.
</p>

<h3 id="-4">
	اختيار إطار العمل المناسب لمشروعك
</h3>

<p>
	يمكن أن يؤثر اختيار إطار العمل بشكل كبير على فعالية وكفاءة مشاريع الذكاء الاصطناعي. نتيجةً لكون مجال الذكاء الاصطناعي متنوع وديناميكي، ظهرت بعض الأطر كمعايير صناعية نظرًا لتعدد استخداماتها وأدائها وأدواتها الواسعة المصممة لمهام الذكاء الاصطناعي. يعد فهم نقاط القوة والضعف في مختلف أطر العمل أمرًا ضروريًا لاتخاذ قرارات مستنيرة عند البدء في مشاريع الذكاء الاصطناعي. تلعب عوامل مثل تعقيد النموذج وسهولة نشر النموذج ودعم المجتمع والتكامل مع التقنيات الأخرى دورًا في تحديد الأدوات التي تتوافق مع أهداف المشروع. نشرع في هذا القسم للحديث عن هذه العوامل بشيء من التفصيل.
</p>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" src="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/?do=embed" style="margin: auto;"></iframe>

<p>
	هنالك عدة عوامل يجب مراعاتها لمتطلبات المشروع ومهارات الفريق والأهداف، إذ يتضمن اختيار إطار العمل لمشروع الذكاء الاصطناعي الخاص بك تحليلًا مدروسًا لعدة عوامل. تشكل هذه العوامل مجتمعة الأساس الذي سيُبنى عليه مشروعك، نذكر منها:
</p>

<ol>
	<li>
		<strong>متطلبات المشروع</strong>: تُعد طبيعة مشروع الذكاء الصناعي الخاص بك اعتبارًا أساسيًا. هل تقوم بتطوير تطبيق رؤية حاسب أو أداة معالجة لغة طبيعية أو نظام توصية؟ قد يستفيد كل مجال من مجموعة مختلفة من الأدوات.
	</li>
	<li>
		<strong>التعقيد</strong>: ضع في اعتبارك مدى تعقيد المشكلة التي تحاول حلها. تتفوق بعض الأطر في التعامل مع العمليات الحسابية المعقدة، بينما يتناسب البعض الآخر بشكل أفضل مع المهام الأبسط.
	</li>
	<li>
		<strong>قابلية التوسع</strong>: هل سيحتاج مشروعك إلى التوسع مع البيانات المتزايدة ومتطلبات المستخدمين؟ توفر بعض الأطر خيارات أفضل لتحسين الأداء وقابلية التوسع.
	</li>
	<li>
		<strong>المجتمع والتوثيق</strong>: يمكن أن تكون المجتمعات القوية والوثائق الشاملة ذات قيمة لا تقدر بثمن عند استكشاف المشكلات وإصلاحها أو طلب التوجيه.
	</li>
	<li>
		<strong>مهارات الفريق</strong>: قم بتقييم خبرة فريق التطوير لديك. يمكن أن يؤدي اختيار لغة وإطار عمل مألوفين لفريقك إلى تسريع عملية التطوير وضمان مستوى أعلى من جودة التعليمات البرمجية.
	</li>
	<li>
		<strong>التكامل</strong>: ضع في اعتبارك مدى سهولة تكامل الإطار المختار مع الأدوات والخدمات وأنظمة التشغيل والمنصات الأخرى التي قد تحتاج إلى استخدامها.
	</li>
	<li>
		<strong>الصيانة طويلة المدى</strong>: التخطيط للمستقبل. تأكد من أن إطار العمل الذي تختاره له خارطة طريق للتحديثات والصيانة.
	</li>
	<li>
		<strong>توفر الموارد</strong>: يمكن أن يؤثر توفر الأدوات والموارد بشكل كبير على سرعة التطوير وكفاءته.
	</li>
	<li>
		<strong>سهولة الاستخدام:</strong> بعض الأطر أكثر سهولة في الاستخدام، مما يجعلها مثالية للمبتدئين. يوفر البعض الآخر مزيدًا من التحكم والمرونة للمطورين ذوي الخبرة.
	</li>
</ol>

<p>
	يعد اختيار <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغة البرمجة</a> والإطار المناسبين لمشروع الذكاء الاصطناعي الخاص بك قرارًا استراتيجيًا يتطلب تقييمًا شاملاً لمتطلبات المشروع وقدرات الفريق والأهداف طويلة المدى. توفر الخيارات الكثيرة المتاحة اليوم للمطورين الأدوات اللازمة لإنشاء تطبيقات مبتكرة وقوية. من خلال النظر في هذه العوامل والاستلهام من دراسات الحالة الناجحة، يمكن للمطورين وضع مشاريعهم على طريق النجاح.
</p>

<h3 id="-5">
	قيود استخدام أطر عمل الذكاء الاصطناعي
</h3>

<p>
	يمكن أن تؤثر القيود المرافقة لأطر عمل الذكاء الاصطناعي على تطوير تطبيقات الذكاء الاصطناعي ونشرها. هناك العديد من القيود، ويمكن أن تختلف هذه القيود بناءً على إطار العمل المحدد. تتضمن بعض القيود الشائعة ما يلي:
</p>

<ol>
	<li>
		<strong>الأداء</strong>: قد تواجه أطر عمل معينة للذكاء الاصطناعي صعوبة في التوسع للتعامل مع مجموعات البيانات الكبيرة أو النماذج المعقدة بكفاءة. يمكن أن ينتج عن ذلك أوقات تدريب أبطأ (بعض النماذج تحتاج أيام) وتطبيقات أقل استجابة (أي تستغرق وقت أطول لكي تعطيك النتيجة).
	</li>
	<li>
		<strong>التوافق</strong>: قد لا تكون بعض أطر عمل الذكاء الصناعي متوافقة مع أجهزة أو منصات معينة، مما يحد من قابليتها للاستخدام في بيئات معينة.
	</li>
	<li>
		<strong>التعقيد</strong>: يمكن أن تكون عملية بناء بعض نماذج الذكاء الصناعي غير سهلة، خاصة للمبتدئين. يمكن أن تعيق الأطر التي تفتقر إلى التوثيق والدعم عملية التعلّم.
	</li>
	<li>
		<strong>الافتقار إلى المرونة</strong>: قد تُقيّد بعض أطر عمل الذكاء الاصطناعي المطورين على خوارزميات ونماذج محددة مسبقًا، مما يقلل من مرونة تجربة الحلول المخصصة.
	</li>
	<li>
		<strong><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B4%D8%BA%D9%8A%D9%84_%D8%A8%D9%8A%D9%86%D9%8A" rel="external nofollow">قابلية التشغيل البيني Interoperability</a></strong>: تشير إلى القدرة على تبادل البيانات أو الوظائف بين نظم مختلفة أو برمجيات مختلفة دون الحاجة إلى تعديل هذه البرمجيات. يعد التحقق من قابلية التشغيل البيني أمرًا مهمًا في عالم تطوير البرمجيات والتكنولوجيا. يمكن أن تؤدي قابلية التشغيل البيني المحدودة بين أطر الذكاء الاصطناعي المختلفة ولغات البرمجة إلى إعاقة تكامل الأدوات والتقنيات المتعددة.
	</li>
	<li>
		** الدعم المحدود**: قد يكون لبعض أطر عمل الذكاء الاصطناعي قاعدة مستخدمين أصغر، مما يؤدي إلى دعم مجتمعي محدود.
	</li>
	<li>
		<strong>مخاوف أمنية</strong>: يمكن أن تتسبب أطر عمل الذكاء الاصطناعي في حدوث ثغرات أمنية، مما قد يؤدي إلى كشف بيانات حساسة.
	</li>
	<li>
		<strong>منحنى التعلم</strong>: يمكن أن يؤدي تعقيد بعض أطر عمل الذكاء الاصطناعي إلى منحنى تعليمي حاد (أي ليس من السهل تعلمها)، مما يتطلب وقتًا وجهدًا كبيرين حتى تصبح بارعًا.
	</li>
</ol>

<p>
	على الرغم من هذه القيود، يعمل البحث والتطوير المستمر على مواجهة هذه التحديات.
</p>

<h2 id="-6">
	مكتبات الذكاء الاصطناعي
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138811" href="https://academy.hsoub.com/uploads/monthly_2023_11/------.png.830fac68dd5bd180636101cffe6799fe.png" rel=""><img alt="مكتبات وأطر عمل الذكاء الاصطناعي" class="ipsImage ipsImage_thumbnailed" data-fileid="138811" data-ratio="62.50" data-unique="n65guzp2w" style="width: 600px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_11/------.thumb.png.2d246b75e6a6a52de0871962e83154dc.png"></a>
</p>

<p>
	إلى جانب أطر عمل الذكاء الاصطناعي، تلعب المكتبات دورًا مهمًا في تحويل <a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">الخوارزميات</a> المعقدة إلى أدوات يسهل الوصول إليها. في حين أن أطر العمل مثل TensorFlow و PyTorch تهيمن على مشهد الذكاء الاصطناعي، فمن الضروري التعرف على خيارات أخرى تُستخدم في تطوير الذكاء الاصطناعي وهي المكتبات.
</p>

<p>
	عكس أطر العمل، صممت المكتبات لتبسيط مهام محددة، حيث تقدم للمطورين وحدات ودوال مُعدة مسبقًا يمكن دمجها بسهولة في مشاريعهم. دعونا نستكشف أهمية مكتبات الذكاء الاصطناعي.
</p>

<h3 id="-7">
	أشهر مكتبات الذكاء الاصطناعي البارزة
</h3>

<p>
	هناك عدد كبير من المكتبات المستخدمة في برمجة الذكاء الاصطناعي وكل منها يُستخدم ضمن لغة برمجة معين. تتضمّن بايثون الحصة الأكبر من مكتبات الذكاء الاصطناعي، فلديها مجموعة واسعة من المكتبات التي تلبي مهام الذكاء الاصطناعي المختلفة. توفر هذه المكتبات للمطورين أدوات ودوال جاهزة لتبسيط عملية التطوير، من المعالجة المسبقة للبيانات إلى التدريب النموذجي والتقييم. فيما يلي بعض المكتبات الأساسية الضرورية لتطوير الذكاء الاصطناعي.
</p>

<h4 id="huggingface">
	هاغينغ فيس Hugging Face
</h4>

<p>
	هاغينغ فيس Hugging Face اسم معروف في عالم الذكاء الاصطناعي وهي الخيار رقم واحد في معالجة اللغة الطبيعية، إذ قدمت مساهمات ملحوظة في مجال معالجة اللغات الطبيعية NLP.
</p>

<p>
	تأسست شركة Hugging Face في عام 2016، وقد اكتسبت شهرة بسبب مكتبتها مفتوحة المصدر، مثل مكتبة المحولات Transformers. توفر هذه المكتبة مجموعة واسعة من مجموعات البيانات والنماذج المدربة مسبقًا لمجموعة واسعة من مهام <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">معالجة اللغات الطبيعية</a>، بما في ذلك تصنيف النصوص وترجمة اللغة ونماذج اللغة وتحليل المشاعر.
</p>

<p>
	ما يميز Hugging Face هو التزامها بإضفاء الطابع الديمقراطي على الذكاء الاصطناعي ومعالجة اللغات الطبيعية من خلال جعل النماذج المتطورة في متناول المطورين والباحثين في جميع أنحاء العالم. مع مجتمع مزدهر من المساهمين، تُواصل Hugging Face الابتكار وقيادة التقدم وتعزيز التعاون في عالم معالجة اللغات الطبيعية. لقد أصبح مصدرًا لا غنى عنه لأي شخص يعمل في مشاريع الذكاء الاصطناعي المتعلقة باللغة.
</p>

<h4 id="numpy">
	نمباي Numpy
</h4>

<p>
	مكتبة خاصة بلغة بايثون وهي أساس العديد من مشاريع الذكاء الاصطناعي. توفر دعمًا للمصفوفات الكبيرة والمعقّدة والمتعددة الأبعاد، جنبًا إلى جنب مع مجموعة واسعة من الدوال الرياضية لعمليات المصفوفة. هذه المكتبة لا غنى عنها للمهام التي تنطوي على حسابات رقمية ومعالجة البيانات.
</p>

<h4 id="pandas">
	باندا Pandas
</h4>

<p>
	مكتبة خاصة بلغة بايثون. هي مكتبة قوية لتحليل البيانات ومعالجتها. يسمح هيكل DataFrame الخاص بها للمطورين بالتعامل مع البيانات المهيكلة ومعالجتها بكفاءة، مما يجعل المهام مثل تنظيف البيانات وتحويلها وتجميعها أكثر ملاءمة.
</p>

<h4 id="scikitlearn">
	سكايت ليرن scikit-Learn
</h4>

<p>
	مكتبة خاصة بلغة بايثون. تُعرف هذه المكتبة أيضًا باسم sklearn، وهي نقطة انطلاق لمهام <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">التعلم الآلي</a>. يقدم مجموعة متنوعة من خوارزميات التعلم الآلي للتصنيف والانحدار والتكتّل وتقليل الأبعاد والمزيد. توفر بالإضافة إلى ذلك أدوات لتقييم النموذج واختيار الميزات والمعالجة المسبقة للبيانات.
</p>

<h4 id="nltk">
	مجموعة أدوات اللغة الطبيعية NLTK
</h4>

<p>
	مكتبة خاصة بلغة بايثون مصممة خصيصًا لمهام معالجة اللغة الطبيعية. توفر أدوات وموارد للتقطيع tokenization والتشذيب stemming، وتصنيف أجزاء الكلام POST، وتحليل المشاعر ، وأكثر من ذلك ، مما يجعله ضروريًا للمشاريع التي تتضمن بيانات نصية.
</p>

<h4 id="spacy">
	سباسي spaCy
</h4>

<p>
	مكتبة خاصة بلغة بايثون. مكتبة قوية أخرى لمهام معالجة اللغة الطبيعية، تركز سبايسي على توفير إمكانيات لمعالجة اللغة الطبيعية بطريقة سريعة وفعّالة. كما أنها تتفوق في مهام مثل التعرف على الكيانات المسماة NER وتحليل التبعية والتحليل اللغوي.
</p>

<h4 id="gensim">
	جينسم Gensim
</h4>

<p>
	مكتبة خاصة بلغة بايثون مصممة لنمذجة الموضوعات وتحليل تشابه المستندات. إنها مفيدة بشكل خاص للعمل مع مجموعات نصية كبيرة وإنشاء تمثيلات رقمية للنصوص باستخدام تقنيات مثل Word2Vec.
</p>

<h4 id="xgboost">
	إكس جي بوست XGBoost
</h4>

<p>
	مكتبة خاصة بلغة بايثون ولغة R وهي مكتبة شهيرة وحديثة للتعلم الآلي. تحظى بشعبية خاصة بالنسبة للبيانات المُهيكلة (كالتي تُنظّم في جداول) وتستخدم على نطاق واسع في مسابقات التعلم الآلي.
</p>

<h4 id="opencv">
	مكتبة OpenCV
</h4>

<p>
	مكتبة خاصة بلغة بايثون ولغة C++‎ وتعد مصدرًا قويًا لمهام <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B5%D9%86%D9%8A%D9%81-%D8%A7%D9%84%D8%B5%D9%88%D8%B1-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%AC%D9%87-%D9%81%D9%8A-%D9%85%D8%AC%D8%A7%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r1197/" rel="">الرؤية الحاسوبية</a>. فهي توفر أكثر من 2500 خوارزمية محسنة لتحليل الصور والفيديو في الوقت الفعلي. من التعرف على الوجه إلى اكتشاف الأشياء، تعد OpenCV واحدة من المكتبات المفضلة لمطوري الرؤية الحاسوبية.
</p>

<h4 id="forecasttseries">
	مكتبتي forecast و tseries
</h4>

<p>
	وهي مكتبات خاصة بلغة R تُستخدم في تحليل السلاسل الزمنية، حيث تسهل حزم <code>forecast</code> و <code>tseries</code> التنبؤ بالبيانات المعتمدة على الوقت وتحليلها.
</p>

<h4 id="spsf">
	مكتبتي sp و sf
</h4>

<p>
	مكتبات خاصة بلغة R تُستخدم في التحليل المكاني، حيث تُمكّن المستخدمين من معالجة البيانات المكانية وتحليلها.
</p>

<p>
	هذه كانت مجموعة من أهم مكتبات الذكاء الاصطناعي. تعمل هذه المكتبات بشكل جماعي على تمكين المطورين من إنشاء تطبيقات ذكاء اصطناعي معقدة عبر مجالات متنوعة. من خلال الاستفادة من قدرات هذه المكتبات، يمكن لممارسي الذكاء الاصطناعي تسريع عملية التطوير وإنشاء نماذج أكثر قوة ودقة.
</p>

<h3 id="-8">
	فوائد مكتبات الذكاء الاصطناعي
</h3>

<p>
	كما أشرنا سابقًا، هناك العديد من الفوائد التي يمكن الحصول عليها من خلال إنشاء واستخدام مكتبات الذكاء الاصطناعي، وهي كما يلي:
</p>

<ol>
	<li>
		<strong>سهولة الاستخدام</strong>: تعمل المكتبات على تبسيط الخوارزميات المعقدة، مما يسهل على المطورين فهم حلول الذكاء الاصطناعي وتنفيذها دون الخوض في تعقيدات الخوارزميات الأساسية.
	</li>
	<li>
		<strong>النماذج الأولية السريعة</strong>: يمكن للمطورين إنشاء نماذج أولية سريعة لأفكارهم باستخدام المكتبات، مما يسمح لهم باختبار الفرضيات وتجربة أساليب مختلفة قبل الالتزام بحل محدد.
	</li>
	<li>
		<strong>دعم المجتمع</strong>: تمامًا مثل أطر العمل، تتمتع المكتبات الشعبية بمجتمعات نابضة بالحياة. تساهم هذه المجتمعات في المكتبات من خلال توفير التحديثات وإصلاحات الأخطاء والوظائف الإضافية، مما يضمن بقاء المكتبات قوية ومحدثة.
	</li>
	<li>
		<strong>قابلية التخصيص</strong>: توفر المكتبات التوازن بين الحلول المعدة مسبقًا والتخصيص. يمكن للمطورين تعديل أجزاء معينة من كود المكتبة لتخصيص الدالة وفقًا لمتطلبات مشروعهم.
	</li>
	<li>
		<strong>كفاءة الموارد</strong>: تتميز المكتبات عمومًا بقلة حجمها مقارنةً بأطر العمل، مما يجعلها مناسبة للبيئات المحدودة الموارد مثل أجهزة <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D8%A3%D8%B4%D9%8A%D8%A7%D8%A1-iot-r1514/" rel="">إنترنت الأشياء</a>.
	</li>
</ol>

<h2 id="-9">
	خاتمة
</h2>

<p>
	لقد أضفت مكتبات وأطر الذكاء الاصطناعي قوةً كبيرةً على تطوير الذكاء الاصطناعي، مما مكّن كلاً من المحترفين المتمرسين والوافدين الجدد من تسخير قوة الذكاء الاصطناعي. سواء كنت تقوم ببناء روبوتات محادثة ذكية أو مركبات ذاتية التحكم أو أنظمة تحليلات تنبؤية، فإن هذه المكتبات والأطر تعمل كحلفاء لك في مجال الذكاء الصناعي. إن فهم مشهد مكتبا وأطر عمل الذكاء الاصطناعي هو الخطوة الأولى في الشروع في رحلة لإنشاء الجيل القادم من الأنظمة الذكية التي ستشكل عالمنا.
</p>

<h2 id="-10">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تعلم الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2243/" rel="">أهمية الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%81%D9%88%D8%A7%D8%A6%D8%AF-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2247/" rel="">فوائد الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2180</guid><pubDate>Tue, 28 Nov 2023 13:05:00 +0000</pubDate></item><item><title>&#x644;&#x63A;&#x627;&#x62A; &#x628;&#x631;&#x645;&#x62C;&#x629; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_11/----.png.8ca790479cc943478a9c6b07fed19c16.png" /></p>
<p>
	في المشهد سريع التطور <span ipsnoautolink="true">للذكاء الصناعي Artificial Intellegence</span>، تلعب لغات البرمجة الذكاء الاصطناعي دورًا محوريًا في تشكيل الطريقة التي نطّور بها الأنظمة والتطبيقات الذكية. توفر لغات البرمجة للمطورين اللبنات الأساسية لتسخير إمكانات الذكاء الاصطناعي وإنشاء حلول مبتكرة من خلال تسهيل عملية بناء نماذج التعلم الآلي وتطبيقات الرؤية الحاسوبية وأدوات معالجة اللغة الطبيعية.
</p>

<p>
	تتعمق هذه المقالة الشاملة في المشهد العام للغات برمجة الذكاء الاصطناعي، وتوجهك من خلال عرض المفاهيم الأساسية للغات البرمجة التي تشكل أساس تطوير الذكاء الاصطناعي. سوف نستكشف الأسباب الكامنة وراء بروز لغات معينة في عالم برمجة الذكاء الاصطناعي، مثل لغة بايثون Python ولغة R، ونطلع على العديد من لغات برمجة الذكاء الاصطناعي الأخرى المُستخدمة في بناء نماذج وأنظمة الذكاء الصناعي.
</p>

<p>
	سواء كنت مطورًا طموحًا لتعلّم الذكاء الاصطناعي، أو مبرمجًا متمرّسًا يتطلع إلى الانتقال إلى الذكاء الاصطناعي، أو متحمسًا فضوليًا حريصًا على فهم تفاصيل تقنية الذكاء الاصطناعي، تهدف مقالة لغات برمجة الذكاء الاصطناعي هذه إلى تزويدك بفهم شامل للغات برمجة الذكاء الاصطناعي. دعنا نبدأ رحلة لاكتشاف لغات برمجة الذكاء الصناعي التي تعمل على تعزيز مستقبل الآلات الذكية.
</p>

<h2 id="">
	معايير اختيار لغات برمجة الذكاء الاصطناعي
</h2>

<p>
	تلعب <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة</a> دورًا محوريًا في مجال<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel=""> الذكاء الاصطناعي</a>. إنها بمثابة الوسيلة التي يتم من خلالها تطوير خوارزميات ونماذج وأنظمة الذكاء الاصطناعي وتنفيذها ونشرها. يمكن فهم أهمية لغات برمجة الذكاء الاصطناعي من خلال عدة جوانب رئيسية نذكر منها ما يلي.
</p>

<h3 id="-1">
	التعبير والمرونة
</h3>

<p>
	توفر لغات البرمجة وسيلة للتعبير عن خوارزميات الذكاء الاصطناعي المعقدة والمنطق بطريقة منظمة ومفهومة.
</p>

<p>
	توفر مجموعة واسعة من هياكل البيانات والمكتبات التي تُمكّن مطوري الذكاء الاصطناعي من تنفيذ مختلف تقنيات التعلم الآلي والتعلم العميق.
</p>

<h3 id="-2">
	المجتمع
</h3>

<p>
	تتمتع لغات البرمجة المشهورة المستخدمة في الذكاء الاصطناعي، مثل بايثون، بمجتمعات واسعة ونشطة. وهذا يعزز تبادل المعرفة والتعاون وتطوير مكتبات وأطر الذكاء الاصطناعي. على سبيل المثال، لدى موقع حسوب I/O <a href="https://io.hsoub.com/python" rel="external">مجتمع خاص بلغة بايثون</a>، وهو مخصص لطرح الأسئلة وتبادل المعارف المتعلقة بلغة بايثون ..إلخ.
</p>

<h3 id="-3">
	السرعة والكفاءة
</h3>

<p>
	تسمح لغات البرمجة مثل بايثون Python وجوليا Julia وC++‎ لخوارزميات الذكاء الاصطناعي بالعمل بشكل أسرع والتعامل مع مجموعات البيانات الكبيرة بكفاءة.
</p>

<p>
	تعتبر تقنيات التحسين في هذه اللغات ضرورية ل<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a> التي تتطلب معالجة في الزمن الحقيقي Real Time.
</p>

<h3 id="-4">
	النماذج الأولية والتجارب
</h3>

<p>
	لغات مثل بايثون معروفة ببساطتها وسهولة قراءتها، مما يجعلها مثالية للنماذج الأولية السريعة والتجارب في أبحاث وتطوير الذكاء الصناعي.
</p>

<h3 id="-5">
	منحنى التعلم
</h3>

<p>
	بعض لغات البرمجة مثل بايثون Python مناسبة للمبتدئين، مما يتيح لمجموعة واسعة من الأشخاص دخول مجال الذكاء الصناعي.
</p>

<p>
	غالبًا ما تحتوي لغات برمجة الذكاء الصناعي على وثائق واسعة النطاق وموارد عبر الإنترنت للتعلم.
</p>

<h3 id="-6">
	مكتبات وأطر عمل خاصة بالذكاء الاصطناعي
</h3>

<p>
	توفر المكتبات وأطر العمل مثل نمباي NumPy وسكاي باي SciPy وباندا pandas في لغة بايثون وظائفًا أساسيةً متعلقة بالذكاء الاصطناعي.
</p>

<h3 id="-7">
	قابلية التوسع
</h3>

<p>
	تصمّم بعض لغات البرمجة لتكون ذات قابلية التوسع، مما يجعلها مناسبة لتطبيقات الذكاء الاصطناعي التي تحتاج إلى معالجة البيانات الضخمة أو العمل في بيئات موزعة.
</p>

<p>
	باختصار، لغات البرمجة هي الأدوات الأساسية لتطوير الذكاء الاصطناعي. إنها تمكن مهندسي الذكاء الاصطناعي وعلماء البيانات والباحثين من إنشاء أنظمة ذكية وتحليل البيانات وحل المشكلات المعقدة. يعتمد اختيار لغة البرمجة على تطبيق الذكاء الاصطناعي المحدد وخبرة فريق التطوير ومتطلبات المشروع، ولكن الفهم القوي للغات البرمجة أمر أساسي للنجاح في الذكاء الاصطناعي.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2 id="-8">
	أشهر لغات برمجة الذكاء الاصطناعي
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138807" href="https://academy.hsoub.com/uploads/monthly_2023_11/----.png.14a1934534dbc8396f7c5b029067e438.png" rel=""><img alt="لغات برمجة الذكاء الاصطناعي" class="ipsImage ipsImage_thumbnailed" data-fileid="138807" data-ratio="62.50" data-unique="en6bas05z" style="width: 600px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_11/----.thumb.png.4f48fdc2f0aa9d3dd15db51148b85f53.png"></a>
</p>

<p>
	هناك العديد من لغات البرمجة المُستخدمة في مجال الذكاء الصناعي، لكل منها قدرات مختلفة عن الأخرى. نستعرض في هذا القسم أشهر اللغات المستخدمة في <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">برمجة الذكاء الاصطناعي</a> وهي باختصار:
</p>

<ol>
	<li>
		لغة بايثون
	</li>
	<li>
		لغة R
	</li>
	<li>
		لغة جافا
	</li>
	<li>
		لغة C++‎
	</li>
	<li>
		لغة جوليا Julia
	</li>
	<li>
		لغة برولوج Prolog
	</li>
	<li>
		لغة ماتلاب Matlab
	</li>
	<li>
		لغة سويفت
	</li>
	<li>
		لغة رست Rust
	</li>
	<li>
		لغة ليسب Lisp
	</li>
	<li>
		لغة لوا Lua
	</li>
	<li>
		لغة بيرل Perl
	</li>
</ol>

<h3 id="-9">
	بايثون
</h3>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" src="https://academy.hsoub.com/files/15-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/?do=embed" style="margin: auto;"></iframe>

<p>
	في المشهد الكبير لتطوير الذكاء الاصطناعي، تلعب لغات البرمجة دورًا حاسمًا في تشكيل الطريقة التي تتعلم بها الآلات الذكية وتتحدث وتتفاعل مع العالم. برزت لغة بايثون من بين هذه اللغات كحجر زاوية يقود الابتكار والتحوّل في مجال الذكاء الاصطناعي.
</p>

<p>
	اكتسبت <a href="https://academy.hsoub.com/python/" rel="">لغة بايثون</a>، وهي لغة برمجة عالية المستوى ومتعددة الاستخدامات -شعبية هائلة لبساطتها وقابليتها للقراءة وقوّتها. تؤكد فلسفة تصميم اللغة المعروفة باسم <a href="https://academy.hsoub.com/programming/python/%D8%A7%D9%84%D8%A8%D9%86%D9%89-%D8%A7%D9%84%D8%B5%D8%AD%D9%8A%D8%AD%D8%A9-%D8%A7%D9%84%D9%85%D8%A4%D8%AF%D9%8A%D8%A9-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%A3%D8%AE%D8%B7%D8%A7%D8%A1-%D8%A7%D9%84%D8%B4%D8%A7%D8%A6%D8%B9%D8%A9-%D9%81%D9%8A-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r2009/" rel="">زن بايثون Zen of Python</a>، وهي تسعة عشر «مبدءًا توجيهيًا» لكتابة برامج الحاسب -على الأناقة والبساطة والتطبيق العملي. هذه الفلسفة لها صدى جيد بين أوساط ممارسي الذكاء الاصطناعي الذين يبحثون عن أدوات فعّالة لتسهيل حل المشاكل المعقدة.
</p>

<p>
	يمكن أن يُعزى صعود بايثون وهيمنتها على مجال برمجة الذكاء الاصطناعي إلى عدة عوامل:
</p>

<ol>
	<li>
		<strong>بيئة غنية بالمكتبات وأطر العمل</strong>: تفتخر بايثون بمجموعة واسعة من المكتبات والأطر المصممة للذكاء الاصطناعي والتعلم الآلي مثل مكتبة نمباي NumPy وباندا Pandas وماتبلوتليب Matplotlib وأطر عمل مثل تنسرفلو Tensorflow وباي تورش PyTorch وسكايت ليرن Scikit-learn التي توفر إمكانات هائلة لتطبيقات التعلم العميق والتعلم الآلي، مما يتيح للمطورين إنشاء نماذج معقدة وتدريبها بسهولة.
	</li>
	<li>
		<strong>سهولة الاستخدام وقابلية القراءة</strong>: تعمل صياغة بايثون البسيطة والسهلة على تسريع عملية التطوير مما يقلل منحنى التعلم عند العمل في مشاريع الذكاء الاصطناعي المعقدة، حيث تجذب سهولة الاستخدام هذه المطورين المخضرمين والوافدين الجدد إلى هذا المجال.
	</li>
	<li>
		<strong>النماذج الأولية السريعة والتجارب</strong>: تسمح الطبيعة الديناميكية لبايثون للمطورين بتجربة نماذج الذكاء الاصطناعي بسرعة. تشجع البيئة التفاعلية على النماذج الأولية السريعة، مما يتيح التطوير التكراري والاختبار الفعّال للفرضيات.
	</li>
	<li>
		<strong>دعم المجتمع الكبير</strong>: يعزز مجتمع بايثون النشط للغاية مشاركة المعرفة والتعاون وإنشاء أدوات مفتوحة المصدر. يمكن للمطورين العثور على وثائق وبرامج تعليمية ومنتديات شاملة للتعاون وتشارك المعرفة وحل المشاكل، مما يسهل التغلب على التحديات ومواكبة أحدث اتجاهات الذكاء الاصطناعي.
	</li>
</ol>

<p>
	يوسع تعدد استخدامات بايثون نفوذها عبر مجالات الذكاء الاصطناعي المختلفة، مما يتيح للمطورين صياغة حلول معقدة لمجموعة واسعة من تطبيقات الذكاء الصناعي.
</p>

<ol>
	<li>
		<strong>معالجة اللغة الطبيعية</strong>: بايثون هي الخيار المفضل لمهام <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%B4%D8%A8%D9%83%D8%A9-%D8%B9%D8%B5%D8%A8%D9%8A%D8%A9-%D8%B5%D9%86%D8%B9%D9%8A%D8%A9-%D9%88%D8%AA%D8%AF%D8%B1%D9%8A%D8%A8%D9%87%D8%A7-%D9%84%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%AC%D9%88%D9%87-r1198/" rel="">البرمجة اللغوية العصبية</a>. توفر مكتبات مثل NLTK و SpaCy أدوات لتحليل النص والمعالجة المسبقة وفهم اللغة وتحليل المشاعر ..إلخ. يمكن للمطورين باستخدام بايثون إنشاء روبوتات محادثة ومترجمات آلية للغات المختلفة وأنظمة تلخيص نصية وكل ما يتعلق بهذا المجال.
	</li>
	<li>
		<strong>الرؤية الحاسوبية</strong>: مكتبة OpenCV، التي تُستخدم غالبًا مع بايثون، تُساعد المبرمجين على إنشاء تطبيقات رؤية الحاسب المختلفة. يمكن للمطورين بناء أنظمة التعرف على الصور واكتشاف الأشياء والتعرف على الوجه، ودفع التقدم في مجالات مثل المركبات ذاتية القيادة والتصوير الطبي.
	</li>
	<li>
		<strong>التعلم الآلي والتعلم العميق</strong>: تتيح مكتبات بايثون وأطر عملها إنشاء نماذج التعلم الآلي المختلفة مثل مكتبة سكايت ليرن Scikit-learn. بينما تُسهّل أطر التعلم العميق مثل تنسرفلو Tensorflow وباي تورش PyTorch تطوير الشبكات العصبية للمهام المعقدة مثل التعرّف على الصور وفهم اللغة الطبيعية وتركيب الكلام.
	</li>
</ol>

<p>
	يمتد تأثير بايثون إلى ما وراء التطبيقات العملية؛ لقد أصبح عنصرًا أساسيًا في أبحاث الذكاء الاصطناعي. تسمح مرونته وتوافر مكتبات عالية المستوى للباحثين بالتركيز على تصميم الخوارزمية وتجريبها بدلًا من تفاصيل التنفيذ منخفضة المستوى. أدى هذا التسريع في البحث إلى حدوث طفرة في الذكاء الاصطناعي وساهم في التطور السريع لهذا المجال.
</p>

<h3 id="r">
	لغة R
</h3>

<p>
	برزت <a href="https://academy.hsoub.com/programming/r-language/%D9%84%D8%BA%D8%A9-r-%D9%88%D8%A7%D9%84%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A5%D8%AD%D8%B5%D8%A7%D8%A6%D9%8A-r80/" rel="">لغة R</a> في مجال علم البيانات والتحليل الإحصائي كأداة قوية تُمكّن الباحثين والمحللين ومحترفي البيانات من فتح الرؤى واتخاذ قرارات مستنيرة من البيانات. بفضل مكتباتها وحزمها الواسعة المصممة للحساب الإحصائي وتصور البيانات والنمذجة التنبؤية، أصبحت لغة R حجر الأساس لأولئك الذين يسعون إلى اشتقاق المعاني من مجموعات البيانات المعقدة.
</p>

<p>
	طوّرت لغة البرمجة R في البداية في جامعة أوكلاند في عام 1993، مع التركيز بشكل أساسي على الحوسبة والرسومات الإحصائية. أدت طبيعتها مفتوحة المصدر ومجتمعها النشط إلى إنشاء بيئة واسعة النطاق من الحزم التي تلبي مجموعة واسعة من مهام تحليل البيانات. تكمن قوة لغة R في قدرتها على التعامل مع البيانات ومعالجتها وإجراء الاختبارات الإحصائية وإنشاء تصوّرات مقنعة تُسهّل تفسير مجموعات البيانات المعقدة.
</p>

<p>
	إن قدرة لغة R على التعامل مع المهام الإحصائية المعقدة وتحليل وتصور البيانات وتلبية متطلبات المجالات ذات الصلة تجعلها أداة لا غنى عنها لمحترفي البيانات عبر الصناعات المختلفة.
</p>

<p>
	عند الحديث عن لغات برمجة الذكاء الاصطناعي، فإن أول الخيارات التي يجب أن تفكر فيها هي بايثون ولغة R، فهما الخياران الأكثر شيوعًا بين المطورين والشركات. لكن هذا لايعني أن نتجاهل لغات برمجة أخرى يمكن استخدامها لدعم تطبيقات الذكاء الاصطناعي والتي تلبي تطبيقات وتفضيلات خاصة في الذكاء الاصطناعي سنذكرها تاليًا.
</p>

<h3 id="java">
	جافا Java
</h3>

<p>
	وجدت <a href="https://academy.hsoub.com/programming/java/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D8%A7-%D9%87%D9%8A%D8%A9-%D8%AC%D8%A7%D9%81%D8%A7-java-r1515/" rel="">لغة جافا</a> المعروفة بقوتها وقابليتها للنقل -طريقها إلى تطوير الذكاء الاصطناعي. مع مكتبات مثل <code>Deeplearning4j</code> و <code>DL4J</code>، يمكن لعشاق جافا الاستفادة من قوة التعلم العميق والشبكات العصبية. إن بنية جافا غرضية التوجّه وتعدد الاستخدامات الذي تتمتع به والمكتبات الواسعة تجعلها مناسبة لبناء حلول الذكاء الاصطناعي التي تتطلب قابلية التوسع والتكامل مع تطبيقات جافا.
</p>

<h3 id="c">
	لغة C++‎
</h3>

<p>
	تحظى <a href="https://academy.hsoub.com/programming/cpp/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-c-r802/" rel="">لغة C++‎</a> بتقدير كبير على أدائها وتحكمها، مما يجعلها خيارًا مناسبًا لتطبيقات الذكاء الاصطناعي التي تتطلب الكفاءة الحوسبية. توفر مكتبات مثل <code>Shark</code> و <code>dlib</code> قدرات التعلم الآلي ورؤية الحاسب. تعد سرعة C++‎ أمرًا بالغ الأهمية في تطبيقات الزمن الحقيقي مثل المركبات ذاتية القيادة والروبوتات، حيث تكون القرارات في أجزاء من الثانية أمرًا ضروريًا.
</p>

<h3 id="julia">
	جوليا Julia
</h3>

<p>
	تزداد شعبية جوليا في برمجة الذكاء الاصطناعي بشكل مطرد بسبب تركيزها على الحوسبة الرقمية عالية الأداء، إذ يمكن من خلال تصريف JIT الخاص بها مطابقة أداء لغات مثل C++‎ مع تقديم بنية أكثر سهولة في الاستخدام، وتكمن نقطة جوليا الرائعة في التطبيقات كثيفة البيانات والمحاكاة والحوسبة العلمية.
</p>

<h3 id="prolog">
	برولوج Prolog
</h3>

<p>
	يشيع استخدام لغة برولوج Prolog في برمجة الذكاء الاصطناعي وهي لغة برمجة منطقية، تتفوق في المهام التي تتضمن التفكير والاستدلال. يُبسّط بناء الجملة التصريحي الذي تتبعه اللغة بناء الأنظمة المعقدة المستندة إلى القواعد، مما يجعلها مناسبة للأنظمة الخبيرة وفهم اللغة الطبيعية.
</p>

<h3 id="matlab">
	ماتلاب MATLAB
</h3>

<p>
	إن اقتران لغة ماتلاب بالحوسبة الرياضية والذكاء الاصطناعي يجعلها المفضلة لدى الكثير من المهندسين والباحثين. يوفر صندوق الأدوات الغني الخاص بها دوالًا لمعالجة الإشارات وتحليل الصور والتعلم الآلي.
</p>

<h3 id="swift">
	سويفت Swift
</h3>

<p>
	هي لغة برمجة سهلة الاستخدام، ويسهل تعلمها عند مقارنتها باللغات الأخرى المستخدمة عادةً لتطبيقات الذكاء الاصطناعي. تخطو لغة سويفت (لغة برمجة Apple) خطوات واسعة في مجال الذكاء الاصطناعي، حيث برز Swift for TensorFlow كأداة قوية تجمع بين بناء الجملة البديهي وإمكانيات تحسين الأداء من لغة سويفت مع بيئة تنسرفلو.
</p>

<h3 id="rust">
	رست Rust
</h3>

<p>
	إن تركيز <a href="https://academy.hsoub.com/programming/rust/%D8%AA%D8%B9%D9%84%D9%85-%D9%84%D8%BA%D8%A9-%D8%B1%D8%B3%D8%AA-rust-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A7%D8%AA-r1764/" rel="">لغة رست</a> على السلامة والتزامن يجعلها مُرشحًا مُقنعًا لبناء أنظمة آمنة للذكاء الاصطناعي. على الرغم من عدم ارتباطه تقليديًا بالذكاء الاصطناعي، إلا أن ميزات راست الحديثة وإدارة الذاكرة القوية يمكن أن تساهم في بناء حلول ذكاء اصطناعي موثوقة تعطي الأولوية للأمان.
</p>

<h3 id="lisp">
	ليسب Lisp
</h3>

<p>
	تحمل لغة ليسب علاقة فريدة وتاريخية بمجال الذكاء الاصطناعي. طوّرت ليسب بواسطة جون مكارثي في أواخر الخمسينيات من القرن الماضي، وتم تصميمها كلغة برمجة مناسبة خصيصًا للبحث والتطوير في مجال الذكاء الاصطناعي. إن طبيعتها المرنة والتي تعتمد على الرموز جعلتها خيارًا مثاليًا لبناء الانظمة الخبيرة وتمثيل المعرفة والمنطق، وهذا ما يتوافق بشكل جيد مع أهداف أنظمة الذكاء الاصطناعي في ذلك الوقت.
</p>

<h3 id="lua">
	لوا Lua
</h3>

<p>
	هي لغة برمجة خفيفة بسيطة تُستخدم غالبًا لدمج مكونات الذكاء الاصطناعي في التطبيقات والألعاب، وهي معروفة ببساطتها وكفاءتها.
</p>

<h3 id="perl">
	بيرل Perl
</h3>

<p>
	تشتهر لغة بيرل بقدراتها على معالجة النصوص وتستخدم أحيانًا للمهام التي تتضمن معالجة البيانات في مشاريع الذكاء الاصطناعي.
</p>

<p>
	أخيرًا وليس آخرًا، يمتد مشهد برمجة الذكاء الاصطناعي إلى ما هو أبعد من بايثون Python ولغة R، مما يوفر عددًا كبيرًا من الخيارات للمطورين لاستكشافها. تقدم كل لغة نقاط قوتها الفريدة إلى الطاولة، حيث تلبي مجالات وتطبيقات الذكاء الاصطناعي المختلفة. من تعدد استخدامات لغة جافا إلى سرعة C++ إلى حوسبة جوليا عالية الأداء إلى معالجة برولوغ وليسب المنطقية، فإن لدينا خيارات كثيرة كمبرمجين.
</p>

<h2 id="-10">
	مقارنة بين لغات برمجة الذكاء الاصطناعي
</h2>

<p>
	تتضمن مقارنة لغات برمجة الذكاء الاصطناعي تقييم ميزاتها وقدراتها ومدى ملاءمتها للمهام المتعلقة بالذكاء الاصطناعي. لقد استعرضنا في فقرة سابقة بالفعل ميزات كل لغة برمجة فيما يتعلق بمجال الذكاء الصناعي، لذا نُسلّط في هذا القسم الضوء على التحديات ونقاط الضعف لأبرز لغات البرمجة التي ذكرناها.
</p>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" src="https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/?do=embed" style="margin: auto;"></iframe>

<h3 id="python">
	سلبيات لغة بايثون Python
</h3>

<p>
	أثبتت لغة بايثون نفسها كقوة كبيرة في مجال البرمجة عمومًا. ومع ذلك، ومثل أي تقنية، فإن بايثون لا تخلو من التحديات والاعتبارات:
</p>

<ul>
	<li>
		<p>
			<strong>الأداء والسرعة</strong>: قد نرى أحيانًا اختناقات في الأداء وبطء في لغة بايثون، خاصةً عند مقارنتها بلغات مثل C++‎ أو Java. يمكن أن يكون هذا ملحوظًا بشكل خاص عند التعامل مع مهام حسابية مكثفة أو مجموعات بيانات كبيرة أو معالجة في الوقت الفعلي. لمواجهة هذا التحدي، غالبًا ما يلجأ المطورون إلى تقنيات التحسين، مثل استخدام المكتبات الخارجية (مثلًا مكتبة مكتوبة بلغة سي C++‎ نستخدمها في بايثون)، وأبرز مثال على ذلك مكتبة نمباي للحسابات الرقمية.
		</p>
	</li>
	<li>
		<p>
			** التنفيذ المتوازي**: بايثون لاتدعم فكرة تعدد الخيوط multi-threading والبرمجة المتوازية بشكل جيد، مما يعني أن بايثون قد لا تستفيد بشكل كامل من المعالجات متعددة النواة للتنفيذ المتوازي. يلجأ المطورون أحيانًا إلى استخدام لغات أخرى جنبًا إلى جنب مع بايثون للتغلب على هذا القيد، أي بشكل مشابه لما ذكرناه منذ قليل.
		</p>
	</li>
	<li>
		<p>
			<strong>استهلاك الذاكرة</strong>: يمكن أن يكون استهلاك الذاكرة في بايثون أعلى أحيانًا من استهلاك لغات مثل C أو C++‎. يمكن أن يكون هذا مصدر قلق عند التعامل مع التطبيقات واسعة النطاق أو البيئات محدودة الموارد.
		</p>
	</li>
	<li>
		<p>
			<strong>إدارة تبعية المكتبات</strong>: تعد بيئة بايثون الشاملة نقطة قوة بلا شك، ولكنها يمكن أن تشكل أيضًا تحديات من حيث إدارة التبعية. مع نمو المشاريع والاعتماد على مكتبات خارجية متعددة، قد يصبح الحفاظ على التوافق وإدارة التبعيات أمرًا معقدًا. يمكن أن تظهر تعارضات الإصدار والحزم المهملة والثغرات الأمنية إذا لم تتم إدارتها بعناية.
		</p>
	</li>
</ul>

<h3 id="r-1">
	سلبيات لغة R
</h3>

<p>
	بينما تعد لغة R أداة قوية لعلوم البيانات، إلا أنها لا تخلو من التحديات أيضًا:
</p>

<ul>
	<li>
		<strong>الأداء</strong>: كما في لغة بايثون، قد تعاني لغة R من بطء تنفيذ العمليات الحسابية الكبيرة.
	</li>
	<li>
		<strong>استخدام الذاكرة</strong>: قد يتطلب التعامل مع مجموعات البيانات الكبيرة إدارة دقيقة للذاكرة.
	</li>
	<li>
		<strong>منحنى التعلم</strong>: يمكن أن يكون إتقان لغة البرمجة R وحزمها مضيعة للوقت للمبتدئين نظرًا لصعوبتها.
	</li>
</ul>

<h3 id="java-1">
	سلبيات لغة جافا Java
</h3>

<p>
	تُعتبر لغة جافا خيارًا قيمًا لتطوير الذكاء الاصطناعي في السيناريوهات التي تفوق فيها نقاط قوتها، مثل الاستقلالية عن نظام التشغيل والأداء وقابلية التوسع. إلا أن لها العديد من التحديات، أهمها:
</p>

<ul>
	<li>
		<strong>الكود المطول</strong>: تشتهر لغة جافا بإسهابها verbosity، مما يعني الحاجة إلى قدر كبير من التعليمات البرمجية للتعبير عن وظيفة معينة. هذا يمكن أن يجعل تطوير الذكاء الاصطناعي في جافا أكثر استهلاكًا للوقت مقارنة باللغات ذات بناء الجملة الأكثر إيجازًا مثل بايثون التي يمكننا فيها التعبير عن وظيفة معينة ببضع تعليمات برمجية.
	</li>
	<li>
		<strong>منحنى التعلم</strong>: تتميز جافا بمنحنى تعليمي أكثر حدة، خاصة للمبتدئين في برمجة الذكاء الاصطناعي. يمكن أن يكون نظام الكتابة الصارم وبناء الجملة المعقد أمرًا مخيفًا لأولئك الجدد في اللغة.
	</li>
	<li>
		<strong>نماذج أولية متأخرة</strong>: قد لا تكون الخيار الأفضل للنماذج الأولية السريعة والتجارب (مثلًا تريد بناء تطبيق ذكاء اصطناعي بسرعة لتجربة فكرة أو ميزة معينة). غالبًا ما يفضل باحثو الذكاء الاصطناعي لغات مثل بايثون أو لغة R، والتي تتيح لهم اختبار الأفكار والخوارزميات بسرعة.
	</li>
	<li>
		<strong>مكتبات محدودة</strong>: على الرغم من أن جافا تحتوي على مكتبات للذكاء الاصطناعي، إلا أن نظامها البيئي ليس غنيًا وواسع النطاق مثل نظام بايثون.
	</li>
	<li>
		<strong>أعباء الأداء</strong>: يمكن أن يكون أداء جافا أقل قليلاً من لغات مثل C++‎ أو جوليا Julia.
	</li>
	<li>
		<strong>النظام البيئي للتعلم العميق</strong>: النظام البيئي للتعلم العميق في جافا ليس ناضجًا مثل نظام بايثون. في حين أنه من الممكن بناء نماذج التعلم العميق في جافا، فإن مجتمع التعلم العميق يستخدم في الغالب بايثون لهذا الغرض.
	</li>
</ul>

<h3 id="c-1">
	سلبيات لغة C++‎
</h3>

<p>
	على الرغم من السرعة والأداء العالي الذي تتمتع به هذه اللغة، إلا أنها مثل أي لغة برمجة أخرى لها جوانب سلبية في سياقات معينة، وأهمها:
</p>

<ul>
	<li>
		<strong>منحنى التعلم</strong>: كما في جافا وربما أكثر.
	</li>
	<li>
		<strong>إدارة الذاكرة</strong>: تتطلب إدارة يدوية للذاكرة، مما قد يؤدي إلى تسرب الذاكرة وحدوث أخطاء إذا لم يتم التعامل معها بشكل صحيح.
	</li>
	<li>
		<strong>مكتبات أقل خاصة بالذكاء الاصطناعي</strong>: ليست واسعة النطاق مثل تلك المتوفرة في بايثون Python أو لغة R.
	</li>
	<li>
		<strong>الكود المطول</strong>: كما في جافا.
	</li>
	<li>
		<strong>عدم الاستقلالية عن نظام التشعيل</strong>: مما يجعله أقل قابلية للتنقل عبر الأنظمة المختلفة دون تعديلات.
	</li>
</ul>

<h3 id="matlab-1">
	سلبيات ماتلاب MATLAB
</h3>

<p>
	يُعتبر ماتلاب MATLAB برنامجًا خاصًا يتطلب ترخيصًا للاستخدام التجاري، مما يجعله مكلفًا (ممكن أن يكون باهظ الثمن) للشركات وأنظمة الإنتاج واسعة النطاق. كما أن مكتباتها ليست غنية ودعم المجتمع لها محدود ومنحنى التعلم فيها حاد.
</p>

<p>
	بالنسبة للغات البرمجة الأخرى فمعظمها تعاني من مشاكل مثل الدعم المجتمعي الضعيف وقلة المكتبات.
</p>

<p>
	يعتمد اختيار لغة برمجة الذكاء الاصطناعي على عوامل مثل مجال الذكاء الاصطناعي المحدد ومتطلبات المشروع والمهارات الحالية ودعم المجتمع. لا تزال لغة بايثون هي اللغة المهيمنة في الذكاء الاصطناعي بسبب نظامها البيئي الواسع، ولكن اللغات الأخرى يمكن أن تكون ذات قيمة للمهام المتخصصة أو احتياجات المشروع الفريدة، فكل لغة من لغات برمجة الذكاء الاصطناعي لديها مزاياها الفريدة وسلبياتها، مثلًا تتفوق لغة R في التحليل الإحصائي وتصوّر البيانات، مما يجعلها الخيار الأفضل في مجال <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">تحليل البيانات</a>. تشتهر جوليا بقدراتها الحاسوبية عالية الأداء، مما يجعلها مناسبة لتطبيقات الذكاء الاصطناعي التي تتطلب حسابات مكثفة. يعد سويفت Swift من خلال دمجه في منصات الأجهزة المحمولة، مثاليًا لتطبيقات الأجهزة المحمولة التي تعمل بالذكاء الاصطناعي.
</p>

<p>
	في النهاية، يجب أن يتوافق اختيار لغة البرمجة مع المتطلبات المحددة لمشروعك وخبرة فريقك. من الضروري الموازنة بين إيجابيات وسلبيات كل لغة والأخذ في الاعتبار عوامل مثل السرعة ودعم المكتبة وقابلية التوسع لاتخاذ قرار مستنير يهيئ مشروع الذكاء الاصطناعي الخاص بك لتحقيق النجاح.
</p>

<h2 id="-11">
	الخاتمة: تشكيل مستقبل الذكاء الاصطناعي بلغات البرمجة
</h2>

<p>
	ظهرت لغات البرمجة باعتبارها حجر الأساس الذي يُبنى عليه مستقبل الآلات الذكية. تلعب هذه الأدوات دورًا تحويليًا، ليس فقط في تسخير قوة البيانات والخوارزميات ولكن أيضًا في إطلاق العنان لإمكانية إنشاء حلول مبتكرة كانت تعتبر في السابق غير قابلة للتحقيق.
</p>

<p>
	أصبحت لغات برمجة الذكاء الاصطناعي مثل لغة بايثون ولغة R حجر الأساس في تطوير تطبيقات الذكاء الاصطناعي، مما يوفر للمطورين خيارات كثيرة لبناء النماذج والخوارزميات المعقدة. تعمل هذه اللغات على تمكين المبرمجين من معالجة البيانات وتحليلها وتصميم شبكات عصبية معقدة وصياغة أنظمة ذكية يمكنها التعلم والتكيف.
</p>

<p>
	كما في أي مجال علمي آخر هناك قيود واعتبارات لابد من الإشارة إليها لأخذها بعين الاعتبار. من المهم لممارسي الذكاء الاصطناعي اختيار لغة البرمجة التي تتوافق بشكل أفضل مع متطلبات مشروعهم المحددة مع إدراكهم للقيود المحتملة وإيجاد طرق للتغلب عليها.
</p>

<p>
	لا يقوم المطورون فقط بإنشاء التعليمات البرمجية؛ إنهم يصممون مستقبل الذكاء نفسه. نظرًا لأننا نقف على أعتاب الاحتمالات التي لم يتم استكشافها بعد، هناك شيء واحد مؤكد: رحلة برمجة الذكاء الاصطناعي لا تشكل المستقبل فحسب، بل تعمل أيضًا على تمكين المطورين من صياغة حلول ذكية تحدد عالم الغد.
</p>

<h2 id="-12">
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تعلم الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/learn-programming/" rel="">تعلم البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D9%87%D9%84-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">أسهل لغات البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%B3%D8%AA%D9%88%D9%8A%D8%A7%D8%AA-%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">مستويات لغات البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2243/" rel="">أهمية الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مستقبل الذكاء الاصطناعي</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2179</guid><pubDate>Fri, 10 Nov 2023 13:00:00 +0000</pubDate></item><item><title>&#x628;&#x631;&#x645;&#x62C;&#x629; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;: &#x628;&#x646;&#x627;&#x621; &#x645;&#x633;&#x62A;&#x642;&#x628;&#x644; &#x627;&#x644;&#x622;&#x644;&#x627;&#x62A; &#x627;&#x644;&#x630;&#x643;&#x64A;&#x629;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_11/---.png.c077fc7f90b0629cf8a3481f99e117dd.png" /></p>
<p>
	لقد أوصلنا التطور السريع للتكنولوجيا إلى منعطف محوري، حيث أصبح الخيال العلمي حقيقة ملموسة. <span ipsnoautolink="true">الذكاء الصناعي Artificial Intellegence</span>، المجال الذي كان يقتصر في السابق على عالم الخيال، أصبح الآن قوة كبيرة تدعم الابتكار في مختلف الصناعات. بدءًا من السيارات ذاتية القيادة التي تتنقل في الشوارع المزدحمة إلى المساعدين الافتراضيين الذين يفهمون ويستجيبون لأوامرنا مثل سيري Siri وأليكسا Alexa، أصبح الذكاء الصناعي جزءًا لا يتجزأ من الحياة الحديثة. يكمن في قلب هذا التحوّل الفن المعقد لبرمجة الذكاء الصناعي، وهي عملية تتضمن صياغة خوارزميات ونماذج تُعالج وتحلّل كميات هائلة من البيانات، بغية إنشاء آلات ذكية يمكنها محاكاة الوظائف الإدراكية البشرية، مثل التعلم والاستدلال وحل المشكلات واتخاذ القرار.
</p>

<p>
	تتضمن برمجة الذكاء الصناعي تطوير البرامج التي تسمح للآلات بإظهار السلوك الذكي وحل المشكلات والتعلم من البيانات كما ذكرنا. إنه مجال متعدد التخصصات يجمع بين علوم الحاسب والرياضيات والعلوم المعرفية والهندسة. الهدف هو تزويد الآلات بالقدرة على تحليل البيانات المعقدة والتعلم من الأنماط والتكيّف مع الظروف المتغيرة، وحتى الانخراط في حل المشكلات التي تتطلّب حثًا إبداعيًّا.
</p>

<p>
	تتحدّث هذه المقالة عن برمجة الذكاء الصناعي وتستكشف مفاهيمها الأساسية وتقنياتها المتطورة وأساليب النشر والاعتبارات الأخلاقية والإمكانيات غير العادية التي تحملها لتشكيل المستقبل وأكثر.
</p>

<h2 id="">
	ما الفرق بين الذكاء الاصطناعي والبرمجة؟
</h2>

<p>
	<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">الذكاء الصناعي</a> والبرمجة هما مفهومان متمايزان ولكن مترابطان في مجال علوم الحاسب. تشير البرمجة إلى عملية إنشاء التعليمات البرمجية أو الشيفرة البرمجية التي تتبعها أجهزة الحاسب لأداء مهام محددة ومدروسة سابقًا ولا يمكن الخروج عنها أي لن يستجيب البرنامج إن حاولت استعماله في شيء ليس مبرمجًا عليه. يتضمن ذلك كتابة الخوارزميات والأوامر بلغات البرمجة المختلفة لتحقيق النتائج المرجوة.
</p>

<p>
	من الناحية الأخرى، يتجاوز الذكاء الصناعي البرمجة التقليدية من خلال تمكين الآلات من محاكاة الوظائف المعرفية بطريقة البشرية، مثل التعلم والاستدلال وحل المشكلات واتخاذ القرار. يمكن لأنظمة الذكاء الصناعي التكيف وتحسين أدائها بناءً على البيانات والخبرات، مما يسمح لها بالتعامل مع المواقف المعقدة وغير المؤكدة التي قد لا تكون مبرمجة بشكل واضح. من هنا نجد أن برمجة الذكاء الاصطناعي تختلف عن البرمجة التقليدية التي اعتدنا عليها.
</p>

<p>
	صحيح أن البرمجة تشكل الأساس لبناء أنظمة الذكاء الصناعي، إلا أن الذكاء الصناعي يتضمن تطوير خوارزميات ونماذج يمكنها التعلم من البيانات وتحسين أدائها بمرور الوقت، مما يمثل خروجًا كبيرًا عن نماذج البرمجة التقليدية.
</p>

<p>
	سأضرب مثالًا حديثًا يوضح الفرق بين الذكاء الاصطناعي والبرمجة، نشر إلون ماسك بتاريخ 26 أغسطس هذا العام فيديو على حسابه على تويتر وهو جالس في سيارة تسلا ذاتية القيادة متوجهًا من مكان إلى آخر دون أن يتدخل وقد علق قائلًا أثناء مرور السيارة بجانب دراجة أننا لم نكتب سطرًا من كود ولم نبرمج السيارة على التصرف في حال المرور بجانب شخص يقود دراجة هوائية، وقد مرت السيارة مرورًا سلسلًا بجانب الدراجة، ثم عند الوصول إلى تقاطع في إشارات مرورية علق قائلًا، نحن لم نبرمج السيارة على قراءة الإشارات المرورية ولم نكتب سطرًا برمجيًا يوضح كل اللافتات والإشارات المرورية بل الأمر متروك للسيارة باستنتاج معنى الإشارة وتطبيق ما يلزم، حيث مرت السيارة بجانب إشارة تطلب تخفيف السرعة فاستجابت لذلك، ويمكنك مشاهدة <a href="https://twitter.com/elonmusk/status/1695247110030119054" rel="external nofollow">الفيديو</a> كاملًا وهو بطول 45 دقيقة في سيارة تسلا ذاتية القيادة التي تقود مستعينة بالذكاء الاصطناعي. كان هذا أوضح مثال عن الفرق بين برمجة الذكاء الاصطناعي والبرمجة التقليدية.
</p>

<p>
	باختصار، تتضمن البرمجة كتابة تعليمات واضحة ليتبعها الحاسب، في حين تتضمن برمجة الذكاء الاصطناعي إنشاء أنظمة يمكنها التعلم من البيانات لإجراء تنبؤات أو قرارات دون أن تتم برمجتها بشكل صريح لكل موقف.
</p>

<h2 id="-1">
	مبرمج الذكاء الاصطناعي
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="138808" href="https://academy.hsoub.com/uploads/monthly_2023_11/---.png.7ca256b91c8343b10ccf3a31d438bf69.png" rel=""><img alt="برمجة الذكاء الاصطناعي" class="ipsImage ipsImage_thumbnailed" data-fileid="138808" data-ratio="62.50" data-unique="2bvtym079" style="width: 600px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_11/---.thumb.png.58d314f4e5e927f399e37a7282bd33d8.png"></a>
</p>

<p>
	خلف كواليس تلك التطورات المذهلة التي يشهدها الذكاء الاصطناعي، يوجد محترفون ماهرون ينجزون هذا التطور، هم مبرمجي الذكاء الاصطناعي. يلعب هؤلاء الأفراد دورًا حاسمًا في تطوير الخوارزميات والنماذج والأنظمة التي تدعم تطبيقات الذكاء الاصطناعي.
</p>

<h3 id="-2">
	دور مبرمج الذكاء الاصطناعي
</h3>

<p>
	مبرمج الذكاء الصناعي هو مطور برامج متخصص يركز على تصميم أنظمة الذكاء الصناعي وتنفيذها وتحسينها. هدفه الأساسي هو إنشاء خوارزميات ونماذج تمكن الآلات من أداء المهام التي تتطلب عادةً ذكاءًا بشريًّا. تتراوح هذه المهام من معالجة اللغة الطبيعية والتعرف على الصور إلى أنظمة التوصية والمركبات المستقلة. يقوم مبرمجي الذكاء الصناعي بسد الفجوة بين مفاهيم الذكاء الاصطناعي النظرية والتطبيقات العملية في العالم الحقيقي.
</p>

<p>
	تتضمن المهام الأساسية:
</p>

<ol>
	<li>
		<p>
			<strong>تطوير الخوارزميات</strong>: يقوم مبرمجي الذكاء الاصطناعي بتصميم وتطوير خوارزميات تُمكّن الآلات من معالجة البيانات وتفسيرها وإنتاجها وإجراء التنبؤات وحتى توليد الأفكار.
		</p>
	</li>
	<li>
		<p>
			<strong>إنشاء النماذج</strong>: يقومون ببناء وتدريب نماذج التعلم الآلي والتعلم العميق باستخدام مجموعات بيانات ضخمة. تتعلم هذه النماذج الأنماط والعلاقات من البيانات لاتخاذ قرارات مستنيرة.
		</p>
	</li>
	<li>
		<p>
			<strong>المعالجة المسبقة للبيانات</strong>: يقوم مبرمجي الذكاء الاصطناعي بتنظيف البيانات ومعالجتها مسبقًا وتحويلها لجعلها مناسبة لتدريب نماذج الذكاء الاصطناعي. يتضمن ذلك مهام مثل تسوية البيانات واستخراج الميزات ومعالجة القيم المفقودة ..إلخ.
		</p>
	</li>
	<li>
		<p>
			<strong>تحسين الأداء</strong>: بمجرد تطوير النموذج، يقوم مبرمجو الذكاء الاصطناعي بتحسين أدائه من خلال ضبط المعلمات الخاصة بتدريب النموذج بدقة وتقليل المتطلبات الحسابية وتعزيز الكفاءة العامة.
		</p>
	</li>
	<li>
		<p>
			<strong>التكامل</strong>: يقوم مبرمجي الذكاء الاصطناعي بدمج نماذج وأنظمة الذكاء الاصطناعي في تطبيقات أكبر، مما يجعلها تتفاعل بسلاسة مع مكونات البرامج الأخرى.
		</p>
	</li>
</ol>

<p>
	المهارات المطلوبة:
</p>

<ol>
	<li>
		<p>
			<strong>إتقان البرمجة</strong>: يعد إتقان إحدى <a href="https://academy.hsoub.com/programming/general/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">لغات البرمجة</a> على الأقل مثل لغة بايثون أو لغة R أو جافا أمرًا أساسيًا. تحتاج عملية برمجة الذكاء الاصطناعي إلى كتابة التعليمات البرمجية لتنفيذ الخوارزميات ومعالجة البيانات وتطوير نماذج الذكاء الصناعي.
		</p>
	</li>
	<li>
		<p>
			<strong>التعلم الآلي</strong>: يعد الفهم القوي لمفاهيم التعلم الآلي أو تعلم الآلة، بما في ذلك التعلم الخاضع للإشراف وغير الخاضع للإشراف والانحدار والتصنيف والتجميع والشبكات العصبية، أمرًا ضروريًا.
		</p>
	</li>
	<li>
		<p>
			<strong>الرياضيات والإحصاء</strong>: تتضمن برمجة الذكاء الاصطناعي التعامل مع مفاهيم رياضية، مثل الجبر الخطي وحساب التفاضل والتكامل والاحتمالات. المعرفة الإحصائية السليمة أمر بالغ الأهمية لتقييم النماذج واختبار الفرضيات.
		</p>
	</li>
	<li>
		<p>
			<strong>أطر التعلم العميق</strong>: يعد الإلمام بمكتبات التعلم العميق مثل تنسرفلو TensorFlow وباي تورش PyTorch وكيراس Keras أمرًا ضروريًا لبناء الشبكات العصبية وتدريبها.
		</p>
	</li>
	<li>
		<p>
			<strong>التعامل مع البيانات</strong>: تعد المهارة في معالجة البيانات والمعالجة المسبقة وأدوات التصور ضرورية لإعداد البيانات للتدريب على نماذج الذكاء الصناعي.
		</p>
	</li>
	<li>
		<p>
			<strong>حل المشكلات</strong>: يجب أن يكون مبرمجي الذكاء الاصطناعي ماهرين في تقسيم المشكلات المعقدة إلى مكونات يمكن التحكم فيها واستنباط حلول فعالة.
		</p>
	</li>
	<li>
		<p>
			<strong>المعرفة بالمجال</strong>: قد يحتاج مبرمجي الذكاء الاصطناعي إلى معرفة خاصة بالمجال الذي يتم بناء النموذج للعمل عليه. على سبيل المثال، يجب على مبرمجي تطبيقات الذكاء الاصطناعي الطبية فهم المصطلحات والممارسات الطبية.
		</p>
	</li>
	<li>
		<p>
			<strong>الوعي بالأخلاق والتحيز</strong>: مع تأثير أنظمة الذكاء الاصطناعي على القرارات الحاسمة، يعد فهم الاعتبارات الأخلاقية وتخفيف التحيز أمرًا بالغ الأهمية.
		</p>
	</li>
</ol>

<p>
	مبرمجو الذكاء الاصطناعي هم مهندسو المستقبل القائم على الذكاء الاصطناعي. تعتبر خبرتهم في الخوارزميات والتعلم الآلي ومعالجة البيانات مفيدة في إنشاء أنظمة يمكنها تحليل كميات هائلة من البيانات واتخاذ قرارات مستنيرة والتعلم المستمر من التجربة. ومع استمرار الذكاء الاصطناعي في إحداث ثورة في الصناعات وإعادة تعريف الإمكانيات، يظل دور مبرمجي الذكاء الاصطناعي محوريًا في تشكيل هذا المشهد التحويلي. سواء كان الأمر يتعلق بتعزيز تجارب العملاء أو إحداث ثورة في تشخيص الرعاية الصحية أو تمكين السيارات ذاتية القيادة، فإن مبرمجي الذكاء الاصطناعي هم في الطليعة، حيث يحولون الأفكار المتطورة إلى واقع عملي.
</p>

<h2 id="-3">
	المفاهيم الأساسية للذكاء الاصطناعي
</h2>

<p>
	يشمل الذكاء الاصطناعي مجموعة واسعة من المفاهيم والتقنيات التي تهدف إلى إنشاء أنظمة قادرة على أداء المهام المختلفة. فيما يلي بعض المفاهيم الأساسية للذكاء الاصطناعي:
</p>

<h3 id="machinelearning">
	التعلم الآلي Machine Learning
</h3>

<p>
	التعلم الآلي هو مجموعة فرعية من الذكاء الاصطناعي الذي يركز على تطوير الخوارزميات والنماذج التي تمكن أجهزة الحاسب من التعلم والتنبؤ أو اتخاذ القرارات بناءً على البيانات. ويمكن تصنيفها إلى:
</p>

<ul>
	<li>
		<strong>التعلم الخاضع للإشراف Supervised Learning</strong>: تتعلم الخوارزميات من بيانات التدريب المصنفة لإجراء تنبؤات أو تصنيفات. وتشمل الأمثلة مهام الانحدار والتصنيف.
	</li>
	<li>
		<strong>التعلم غير الخاضع للإشراف Unsupervised Learning</strong>: تتعلم الخوارزميات من البيانات غير المسماة لاكتشاف الأنماط والعلاقات. ومن الأمثلة على ذلك التجميع وتقليل الأبعاد.
	</li>
	<li>
		<strong>التعلم المعزز Reinforcement Learning</strong>: يتعلم الوكلاء Agents تنفيذ الإجراءات ضمن بيئة محددة لتحقيق أقصى قدر من المكافآت. شائع في مهام مثل اللعب والروبوتات.
	</li>
</ul>

<h3 id="neuralnetworks">
	الشبكات العصبية Neural Networks
</h3>

<p>
	الشبكات العصبية هي نماذج حسابية مستوحاة من بنية الدماغ البشري. وهي تتكون من عقد مترابطة (خلايا عصبية) منظمة في طبقات. كل اتصال له وزن يمكن تعديله أثناء التدريب لتحسين أداء النموذج.
</p>

<h3 id="deeplearning">
	التعلم العميق Deep Learning
</h3>

<p>
	التعلم العميق هو مجال فرعي من التعلم الآلي يتضمن شبكات عصبية ذات طبقات متعددة (شبكات عصبية عميقة). لقد أتاح التعلم العميق تحقيق إنجازات كبيرة في مهام مثل التعرف على الصور والكلام نظرًا لقدرته على تعلم الأنماط المعقدة تلقائيًا من البيانات.
</p>

<h3 id="naturallanguageprocessing">
	معالجة اللغات الطبيعية Natural Language Processing
</h3>

<p>
	تتضمن البرمجة اللغوية العصبية تمكين أجهزة الحاسب من فهم اللغة البشرية وتفسيرها وتوليدها. يتم استخدامه في مهام مثل تحليل المشاعر وترجمة اللغات وروبوتات الدردشة وإنشاء النصوص.
</p>

<h3 id="computervision">
	الرؤية الحاسوبية Computer Vision
</h3>

<p>
	تركز رؤية الحاسب على منح الآلات القدرة على تفسير المعلومات المرئية من البيئة المحيطة. يُستخدم في تحليل الصور والفيديو واكتشاف الأشياء والتعرف على الوجه والمركبات ذاتية القيادة.
</p>

<h3 id="expertsystems">
	الأنظمة الخبيرة Expert Systems
</h3>

<p>
	الأنظمة الخبيرة هي برامج الذكاء الاصطناعي التي تحاكي قدرات اتخاذ القرار للخبير البشري في مجال معين. ويستخدمون تقنيات تمثيل المعرفة والتفكير لحل المشكلات المعقدة.
</p>

<h3 id="knowledgerepresentationandreasoning">
	تمثيل المعرفة والاستدلال Knowledge Representation and Reasoning
</h3>

<p>
	تحتاج أنظمة الذكاء الاصطناعي إلى تمثيل المعرفة بتنسيق منظم يمكن لأجهزة الحاسب فهمه. يتضمن الاستدلال استخدام القواعد المنطقية لإجراء الاستدلالات واستخلاص النتائج من المعرفة الممثلة.
</p>

<h3 id="cognitivecomputing">
	الحوسبة المعرفية Cognitive Computing
</h3>

<p>
	تهدف الحوسبة المعرفية إلى إنشاء أنظمة يمكنها محاكاة عمليات التفكير البشري، مثل التفكير وحل المشكلات والتعلم. غالبًا ما يجمع بين تقنيات الذكاء الاصطناعي ومعالجة اللغة الطبيعية وتحليل البيانات.
</p>

<h3 id="machineperception">
	الإدراك الآلي Machine Perception
</h3>

<p>
	يتضمن ذلك منح الآلات القدرة على إدراك العالم وفهمه من خلال المدخلات الحسية مثل الصور والصوت واللمس. يتضمن مهام مثل التعرف على الصور والتعرف على الكلام والتعرف على الإيماءات.
</p>

<p>
	توفر هذه المفاهيم فهمًا أساسيًا للذكاء الاصطناعي. ومع استمرار تطور هذا المجال، ستظهر تقنيات وأساليب جديدة، مما يساهم في تقدمه السريع. تجدر الإشارة إلى أنك كمبرمج للذكاء الصناعي لست مضطرًا لتعلّم كل هذه المفاهيم، وإنما يكفي فهم عام لها (فهم سطحي)، والتخصص في واحدة أو اثنتين منها فقط، لأن التخصص في كل هذه المفاهيم أو في كل مجالات الذكاء الصناعي هو أمر شبه مستحيل.
</p>

<h2 id="-4">
	خوارزميات الذكاء الاصطناعي
</h2>

<p>
	<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a> عبارة عن مجموعات من التعليمات خطوة بخطوة أو الإجراءات الحسابية المصممة لحل مشكلات أو مهام محددة تتطلب عادةً ذكاءً بشريًا. تقع هذه الخوارزميات في قلب أنظمة الذكاء الاصطناعي، مما يمكّن الآلات من التعلم والتفكير واتخاذ القرارات.عمومًا، هذه الخوارزميات هي مجرد أفكار ونظريات تحتاج إلى تحويل إلى صيغة يمكن للآلات استغلالها، وهنا يتجلى دور برمجة الذكاء الاصطناعي في تحويل هذه الأفكار إلى شيفرات برمجية، بالتالي تصبح الآلات قادرة على تحليل البيانات بشكل ذكي، مما يتيح لها اكتساب المعرفة وتحديث أساليبها تلقائيًا.
</p>

<p>
	هناك مجموعة واسعة من الخوارزميات ذات الصلة بالذكاء الصناعي منها خوارزميات البحث والخوارزميات الجينية والشبكات العصبية وأشجار القرار وخوارزميات التجميع وخوارزميات معالجة اللغات الطبيعية وخوارزميات التعلم المعزز. يعتمد اختيار الخوارزمية على المشكلة التي تحاول حلها والبيانات المتوفرة لديك ومهمة الذكاء الاصطناعي المحددة التي تعمل عليها.
</p>

<p>
	لن نخوض في هذه الخوارزميات الآن، فقد كان لنا محطة عندها في مقالة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a>.
</p>

<h2 id="-5">
	البدء في برمجة الذكاء الاصطناعي
</h2>

<p>
	عند وجود أساس جيد للمفاهيم الأساسية للذكاء الاصطناعي، يكون قد حان الوقت للشروع في رحلتك إلى عالم برمجة الذكاء الصناعي. نوجّهك في هذا القسم إلى الخطوات الأولية لبدء برمجة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الصناعي</a>.
</p>

<h3 id="-6">
	لغات برمجة الذكاء الاصطناعي
</h3>

<p>
	تُستخدم العديد من <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%84%D8%BA%D8%A7%D8%AA-%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">لغات برمجة الذكاء الاصطناعي</a> والمكتبات بشكل شائع لتطوير الذكاء الصناعي نذكر منها ما يلي:
</p>

<ol>
	<li>
		لغة بايثون Python
	</li>
	<li>
		لغة R
	</li>
	<li>
		لغة جافا Java
	</li>
	<li>
		لغة جوليا Julia
	</li>
</ol>

<h4 id="1python">
	1. لغة بايثون Python
</h4>

<p>
	<a href="https://academy.hsoub.com/python/" rel="">لغة بايثون</a> هي لغة شائعة لبرمجة الذكاء الصناعي نظرًا لبساطتها ونظامها الإيكولوجي الشامل لمكتبات الذكاء الصناعي مثل تنسرفلو TensorFlow وباي تورش PyTorch وسكايت ليرن scikit-Learn.
</p>

<h4 id="r">
	لغة R
</h4>

<p>
	تُستخدم <a href="https://academy.hsoub.com/programming/r-language/" rel="">لغة R</a> على نطاق واسع في التحليل الإحصائي وتصوّر البيانات، مما يجعلها الخيار المفضل لمشاريع الذكاء الصناعي التي تتضمن تحليل البيانات.
</p>

<h4 id="java">
	لغة جافا Java
</h4>

<p>
	القدرات القوية للبرمجة غرضية التوجّه <abbr title="Object-Oriented Programming | البرمجة كائنية التوجه"><abbr title="Object-Oriented Programming | البرمجة كائنية التوجه">OOP</abbr></abbr> في لغة جافا تجعلها مناسبة لبناء تطبيقات الذكاء الصناعي.
</p>

<h4 id="julia">
	لغة جوليا Julia
</h4>

<p>
	تكتسب لغة جوليا قوة دفع لقدراتها عالية الأداء في الحوسبة العلمية والتعلم الآلي.
</p>

<p>
	سنتحدث عن استخدامات هذه اللغات -ولغات أخرى- في سياق الذكاء الصناعي بشيءٍ من التفصيل لاحقًا.
</p>

<p>
	تجدر الإشارة إلى أنه يمكنك الاطلاع على سلاسل <a href="https://academy.hsoub.com/programming/python/" rel="">مقالات كاملة عن مكتبة بايثون</a>، و<a href="https://academy.hsoub.com/programming/java/" rel="">لغة جافا</a>، و<span ipsnoautolink="true">لغة R</span>.
</p>

<h3 id="-7">
	استكشاف مكتبات وأطر عمل الذكاء الاصطناعي
</h3>

<p>
	تصبح برمجة الذكاء الصناعي أكثر سهولة وكفاءة بمساعدة المكتبات والأطر المتخصصة. توفر هذه الأدوات دوال وتجريدات مختلفة لجعل تطوير الذكاء الصناعي أكثر كفاءة. فيما يلي بعض مكتبات وأطر عمل الذكاء الصناعي الشائعة:
</p>

<h4 id="tensorflow">
	تنسرفلو TensorFlow
</h4>

<p>
	تم تطوير إطار العمل تنسرفلو TensorFlow بواسطة شركة جوجل، وهي واحدة من مكتبات الذكاء الصناعي مفتوحة المصدر الأكثر استخدامًا. توفر نظامًا بيئيًا شاملاً للتعلم الآلي والتعلم العميق، بما في ذلك دعم الشبكات العصبية ومعالجة اللغة الطبيعية NLP والرؤية الحاسوبية.
</p>

<h4 id="pytorch">
	باي تورش PyTorch
</h4>

<p>
	طوّر باي تورش بواسطة مختبر أبحاث الذكاء الصناعي FAIR التابع لشركة ميتا، وهو يتبع أسلوبًا ديناميكيًا في تنفيذ الشبكات العصبية، مما يجعله أكثر مرونة للبحث والتجريب. يستخدم على نطاق واسع في الأوساط الأكاديمية والصناعية لتطوير نماذج التعلم العميق.
</p>

<h4 id="keras">
	كيراس Keras
</h4>

<p>
	في الأصل هي مكتبة مستقلة، لكن أصبحت كيراس الآن جزءًا من تنسرفلو باعتبارها واجهة برمجة تطبيقات عالية المستوى. يوفر واجهة سهلة الاستخدام لبناء الشبكات العصبية وتدريبها، مما يجعلها رائعة للمبتدئين.
</p>

<h4 id="scikitlearn">
	سكايت-ليرن Scikit-Learn
</h4>

<p>
	هذه مكتبة شهيرة للتعلم الآلي، ولكن ليس لها أي علاقة بالتعلم العميق والشبكات العصبية. توفر هذه المكتبة عددًا كبيرًا من خوارزميات التعلم الآلي التقليدية. توفر مجموعة أدوات بسيطة وفعالة للمعالجة المسبقة للبيانات وهندسة الميزات وتقييم النموذج.
</p>

<p>
	توفر هذه المكتبات والأطر بيئة مناسبة ومريحة وآمنة وموثوقة، لتسهيل عملية بناء وتطوير مشاريع الذكاء الصناعي. نتحدث عن هذه المكتبات والأطر في المقالة القادمة بشكل أكبر أيضًا.
</p>

<h3 id="-8">
	أدوات تطوير وبرمجة تطبيقات الذكاء الاصطناعي
</h3>

<p>
	قبل البدء في الخوض في عالم برمجة الذكاء الاصطناعي، من الضروري إنشاء بيئة تطوير قوية توفر الأدوات والموارد اللازمة لكتابة الشيفرات وإنشاء الاختبارات بسلاسة:
</p>

<h4 id="-9">
	اختر نظام التشغيل الخاص بك
</h4>

<p>
	أولاً وقبل كل شيء، حدد نظام التشغيل الذي يناسب تفضيلاتك ومتطلباتك. يمكن إجراء تطوير الذكاء الصناعي على منصات مختلفة، إلا أن العديد من مكتبات وأدوات الذكاء الصناعي مدعومة جيدًا على الأنظمة المستندة إلى لينكس Linux مثل أبونتو Ubuntu. تجدر الإشارة أيضًا إلى أن نظامي التشغيل ويندوز Windows وماك macOS هما أيضًا خيارات يمكن الاعتماد عليها. يعتمد اختيارك إلى حد كبير على معرفتك بالنظام وراحتك، وممكن استعمال لينكس ضمن ويندوز عبر طريقتين إما عبر <a href="https://academy.hsoub.com/devops/linux/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D9%86%D8%B8%D8%A7%D9%85-%D9%84%D9%8A%D9%86%D9%83%D8%B3-%D8%AF%D8%A7%D8%AE%D9%84-%D9%86%D8%B8%D8%A7%D9%85-%D9%88%D9%8A%D9%86%D8%AF%D9%88%D8%B2-%D9%81%D9%8A-%D8%A8%D9%8A%D8%A6%D8%A9-%D9%88%D9%87%D9%85%D9%8A%D8%A9-r577/" rel="">بيئة وهمية</a> أو عبر نظام لينكس الداخلي WSL، أو يمكن <a href="https://academy.hsoub.com/devops/linux/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D9%84%D9%8A%D9%86%D9%83%D8%B3-%D9%85%D8%B9-%D9%86%D8%B8%D8%A7%D9%85-%D9%88%D9%8A%D9%86%D8%AF%D9%88%D8%B2-r576/" rel="">تثبيت لينكس مع ويندوز</a>.
</p>

<h4 id="python">
	تثبيت بايثون Python
</h4>

<p>
	بايثون هي لغة البرمجة المفضلة لبرمجة الذكاء الاصطناعي نظرًا لبساطتها وبيئتها الواسعة التي تتضمن العديد من المكتبات الداعمة للذكاء الصنعي. ابدأ بتثبيت بايثون على نظامك. يمكنك مراجعة مقال <a href="https://academy.hsoub.com/programming/python/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-3-%D9%88%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A8%D9%8A%D8%A6%D8%AA%D9%87%D8%A7-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-r714/" rel="">تثبيت لغة بايثون</a> الشامل الذي يشرح تنزيل بايثون على كل أنظمة التشغيل. بعد التثبيت، ستتمكن من الوصول إلى مجموعة المكتبات والأدوات الثريّة في بايثون.
</p>

<h4 id="ide">
	اختر بيئة تطوير متكاملة IDE
</h4>

<p>
	إن استخدام بيئة تطوير متكاملة يؤدي إلى تحسين تجربة البرمجة الخاصة بك من خلال توفير ميزات مثل إكمال التعليمات البرمجية وتصحيح الأخطاء وإدارة المشروع.
</p>

<p>
	تشمل الخيارات الشائعة PyCharm و Jupyter Notebook المخصصين لبايثون وكذلك Visual Studio Code الذي يُعتبر بيئة تطوير عامة. تُقدم بيئات التطوير المتكاملة مكونات إضافية وإضافات متخصصة لتطوير الذكاء الاصطناعي، مما يبسط سير عملك.
</p>

<h4 id="-10">
	تثبيت أطر ومكتبات الذكاء الصناعي
</h4>

<p>
	لتسخير قوة الذكاء الاصطناعي، ستحتاج إلى تثبيت مكتبات وأطر تسهل مهام التعلم الآلي والتعلم العميق. تعد تنسرفلو TensorFlow وباي تورش PyTorch وكيراس Keras وسكايت ليرن scikit-Learn بعض المكتبات الأساسية التي يجب أخذها بعين الاعتبار. يمكنك تثبيت هذه المكتبات باستخدام مدير حزم بايثون <a href="https://pypi.org" rel="external nofollow">pip</a>، عن طريق تنفيذ أوامر بسيطة.
</p>

<h4 id="-11">
	إعداد البيئات الافتراضية
</h4>

<p>
	يعد إنشاء بيئات افتراضية أفضل ممارسة لعزل مشاريعك وتبعياتها. تضمن البيئات الافتراضية أن المكتبات والحزم المثبتة لمشروع واحد لا تتداخل مع المشاريع والحزم الأخرى. استخدم أدوات مثل <code>venv</code> أو <code>conda</code> أو <code>pipenv</code> لإنشاء وإدارة بيئات افتراضية، وتحسين تنظيم مشروعك وتجنب تعارضات الإصدار.
</p>

<h4 id="versioncontrol">
	إعداد التحكم في الإصدار Version Control
</h4>

<p>
	يعد التحكم في الإصدار أمرًا بالغ الأهمية لإدارة التغييرات في قاعدة التعليمات البرمجية الخاصة بك والتعاون مع الآخرين. جيت Git هو أكثر أنظمة التحكم في الإصدارات شيوعًا. أنشئ مستودع جيت لمشاريع الذكاء الاصطناعي الخاصة بك لتتبع التغييرات والتعاون مع أعضاء الفريق والاحتفاظ بسجل لقاعدة التعليمات البرمجية الخاصة بك. يمكنك الاطلاع على سلاسل مقالات كاملة للتعرّف على كيفية التعامل مع جيت من <a href="https://academy.hsoub.com/programming/workflow/git/" rel="">قسم Git التعليمي</a>.
</p>

<h4 id="cloudplatforms">
	استكشاف المنصات السحابية Cloud Platforms
</h4>

<p>
	نظرًا لأن <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D8%B7%D9%88%D8%A7%D8%AA-%D8%AA%D9%86%D9%81%D9%8A%D8%B0-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-r2004/" rel="">مشاريع الذكاء الاصطناعي</a> أصبحت أكثر تعقيدًا، فقد تحتاج إلى قوة حسابية إضافية. توفر المنصات السحابية مثل خدمات أمازون ويب Amazon Web Services وسحابة جوجل Google Cloud ومايكروسوفت أزور Microsoft Azure موارد لتطوير الذكاء الاصطناعي ونشره. تعرّف على هذه المنصات لتسخير قدراتها في بناء مشاريعك.
</p>

<p>
	إن إنشاء بيئة تطوير قوية يضع الأساس لبرمجة ناجحة للذكاء الصناعي. مع بايثون ومكتبات الذكاء الصناعي و بيئة التطوير المتكاملة المناسبة والتحكم في الإصدار، فأنت مجهز جيدًا لبدء رحلة الذكاء الصناعي الخاصة بك. تجدر الإشارة أيضًا، إلا أن المبدتئين يمكنهم تجاوز الخطوات 6 و 7 مبدأيًا، والخوض بهما لاحقًا عند الحاجة.
</p>

<h3 id="-12">
	مراحل برمجة نموذج ذكاء اصطناعي؟
</h3>

<p>
	تتضمن عملية تطوير نماذج الذكاء الصناعي مرحلتين أساسيتين هما: عملية التدريب وعملية التقييم. إنهما مرحلتين حاسمتين في برمجة الذكاء الصناعي.
</p>

<p>
	مرحلة التدريب هي المرحلة التي يتعلم فيها نموذجك من البيانات ويضبط معلماته Parameters (العناصر القابلة للتعديل داخل النموذج، والتي تؤثر بشكل كبير على أداء النموذج وسلوكه) لعمل تنبؤات دقيقة في العالم الحقيقي. يتمثل دورك كمبرمج للذكاء الصناعي في هذه المرحلة في بناء النموذج وإعداد البيانات اللازمة للتدريب والتأكد من أن نموذجك يتعلم من البيانات بشكل فعّال وينتج تنبؤات دقيقة (أي التدريب ومراقبة صحة عملية التدريب).
</p>

<p>
	أما مرحلة التقييم، فهي المرحلة التي تلي مرحلة التدريب، حيث تتضمن سلسلة من الاختبارات اللازمة للتأكد من مدى فعالية النموذج عند تعريضه لبيانات العالم الحقيقي. من خلال فهم الفروق الدقيقة في تدريب النموذج والتحقق من صحة التدريب والتقييم، ستتمكن من ضبط تطبيقات الذكاء الصناعي الخاصة بك للحصول على الأداء الأمثل. ستمهد هذه المعرفة الطريق لك لإنشاء نماذج ذكاء اصطناعي أكثر تطوراً ودقة في المستقبل.
</p>

<h3 id="-13">
	نشر نماذج الذكاء الاصطناعي
</h3>

<p>
	تظهر القيمة الحقيقية لنموذج الذكاء الصناعي عند نشره واستخدامه في سيناريوهات العالم الحقيقي، إنه الخطوة المحورية التي تحول الخوارزميات المدربة من تجارب إلى حلول عملية. إنها المرحلة التي يتم فيها إتاحة نماذج الذكاء الصناعي الخاصة بك للتفاعل مع العالم الحقيقي وإجراء تنبؤات أو تصنيفات أو قرارات. نتحدث في هذا القسم عن تعقيدات نشر نماذج الذكاء الصناعي ونغطي الاعتبارات المختلفة للنشر الناجح.
</p>

<h4 id="-14">
	اختيار نهج النشر الصحيح
</h4>

<p>
	عند نشر نماذج الذكاء الاصطناعي، لديك عدة خيارات، لكل منها مزاياها ومقايضاتها. سنناقش طريقتين أساسيتين للنشر: النشر المحلي والنشر المستند إلى مجموعة النظراء.
</p>

<ul>
	<li>
		<strong>النشر المحلي أو النشر في أماكن العمل On-Premises Deployment:</strong> يوفر نشر نماذج الذكاء الصناعي في أماكن العمل درجة عالية من التحكم والأمان وخصوصية البيانات. يتضمن نهج النشر هذا استضافة نماذج الذكاء الصناعي الخاصة بك على الخوادم المحلية أو الأجهزة المتطورة داخل البنية التحتية لمؤسستك. يعد النشر المحلي مفيدًا بشكل خاص عند التعامل مع البيانات الحساسة أو عندما تكون التفاعلات ذات زمن الوصول المنخفض ضرورية.
	</li>
	<li>
		<strong>النشر المستند إلى السحابة Cloud-Based Deployment:</strong> أحدث النشر المستند إلى السحابة ثورة في طريقة إتاحة نماذج الذكاء الاصطناعي للمستخدمين، مما يوفر قابلية التوسع وإمكانية الوصول والتكلفة المنخفضة. هنا تحتاج إلى تحديد مزود الخدمة السحابية المناسب الذي يناسب متطلبات مشروعك، وأشهرها خدمات أمازون ويب Amazon Web Services ومنصة جوجل السحابية Google Cloud Platform ومايكروسوفت آزور Microsoft Azure.
	</li>
</ul>

<h4 id="-15">
	تحسين النموذج المستمر
</h4>

<p>
	يعد تحسين النموذج للنشر خطوة مهمة لضمان أن تكون نماذج الذكاء الصناعي فعّالة وسريعة وقادرة على تقديم تنبؤات دقيقة في سيناريوهات العالم الحقيقي. نظرًا لأن نماذج الذكاء الصناعي أصبحت أكثر تعقيدًا، فإن حجمها ومتطلباتها الحسابية يمكن أن تشكل تحديات عند نشرها على أجهزة مختلفة، من الأجهزة المتطورة إلى الخوادم السحابية.
</p>

<p>
	تلعب تقنيات تحسين النموذج دورًا مهمًا لمواجهة هذه التحديات. أهم هذه التقنيات هم التكميم والتقليم والضغط. يمكن لممارسي الذكاء الاصطناعي تحقيق توازن بين أداء النموذج وكفاءة النشر من خلال الخوض في استراتيجيات التحسين هذه، مما يضمن أن حلول الذكاء الصناعي الخاصة بهم تقدم النتائج بسرعة وفعاليّة.
</p>

<ul>
	<li>
		<p>
			<strong>التكميم Quantization:</strong> التكميم هو تقنية مهمة في مجال نشر نماذج الذكاء الاصطناعي. يتضمن تقليل دقة القيم العددية في معلمات النموذج، عادةً من عرض بت أعلى (على سبيل المثال، 32 بت) إلى عرض بت أقل (على سبيل المثال، 8 بتات). ينتج عن هذه العملية تمثيل أفضل عمليًا للنموذج، مما يقلل بشكل كبير من استخدام الذاكرة ويحسن سرعة الاستدلال. إذًا يتيح التكميم نشر نماذج الذكاء الصناعي بكفاءة على الأجهزة محدودة الموارد مثل الأجهزة المتطورة والهواتف المحمولة وأجهزة إنترنت الأشياء، وذلك من خلال التضحية بالقليل من الدقة. إنه يحقق توازنًا بين الكفاءة الحسابية والحفاظ على الأداء المعقول، مما يجعله أداة لا غنى عنها في ترسانة مهندسي الذكاء الصناعي الذين يسعون جاهدين للحصول على حلول النشر المثلى.
		</p>
	</li>
	<li>
		<p>
			<strong>التقليم Pruning:</strong> التقليم هو أسلوب آخر في مجال تحسين نموذج الذكاء الصناعي للنشر، يهدف إلى تبسيط التعقيد وتحسين كفاءة النماذج المُدرّبة. تتضمن هذه العملية القضاء الانتقائي على الاتصالات الزائدة أو العقد أو المعلمات من الشبكة العصبية، وبالتالي تقليل حجمها الكلي مع السعي للحفاظ على أدائها في نفس الوقت. لا ينتج عن التقليم نماذج أخف وأسرع أثناء الاستدلال فحسب، بل يساهم أيضًا في معالجة مشكلات الضبط المُفرط Overfitting. إذًا يعمل التقليم على تحسين قدرات التعميم من خلال إزالة المكونات الأقل تأثيرًا في النموذج، وغالبًا ما يؤدي إلى تحسين الدقة عمومًا. تُقدّم هذه التقنية إمكانية التوازن بين تعقيد النموذج والأداء، وتوضح كيف يمكن أن يؤدي التبسيط الاستراتيجي إلى حلول ذكاء اصطناعي أكثر مرونة وفعالية.
		</p>
	</li>
	<li>
		<p>
			<strong>الضغط Compression:</strong> يعد الضغط تقنية أخرى في عالم نشر نماذج الذكاء الصناعي. يهدف أيضًا إلى تحقيق توازن بين دقة النموذج وكفاءة الموارد. تلعب تقنيات الضغط دورًا مهمًا في تقليل الذاكرة التي يستهلكها النموذج وتسريع الاستدلال دون التضحية الكبيرة في الأداء التنبئي، وذلك من خلال إزالة المعلومات الزائدة واستغلال الأنماط داخل معلمات النموذج. لا يؤدي الضغط إلى تحسين متطلبات التخزين فحسب، بل يُقلل أيضًا الزمن اللازم للتنبؤ. من تقليم الاتصالات غير المهمة إلى تحديد قيم المعلمات، يمكّن الضغط مطوري الذكاء الاصطناعي من نشر نماذج قوية وفعّالة عمليًا، مما يضمن السلاسة عبر الأجهزة وسيناريوهات الاستخدام المحتملة.
		</p>
	</li>
</ul>

<h4 id="-16">
	الأمان والخصوصية
</h4>

<p>
	تعتبر اعتبارات الأمان والخصوصية في عملية نشر نماذج الذكاء الاصطناعي ذات أهمية قصوى. نظرًا لأن نماذج الذكاء الاصطناعي تتفاعل مع البيانات الحساسة وتقوم بالتنبؤات التي تؤثر على القرارات الحاسمة، فإن الحماية من الوصول غير المصرح به وضمان الاستخدام الأخلاقي يصبح أمرًا ضروريًا. يعد تنفيذ إجراءات أمنية قوية أمرًا ضروريًا للحفاظ على ثقة المستخدم والامتثال للوائح.
</p>

<p>
	تلعب تقنيات مثل التشفير دورًا محوريًا في تأمين البيانات أثناء النقل والتخزين. تساعد المصادقة المستندة إلى الرمز المميز والتحكم في الوصول المُستند إلى الدور -في تنظيم من يمكنه الوصول إلى واجهات برمجة تطبيقات الذكاء الاصطناعي، مما يضمن أن المستخدمين المُصرّح لهم فقط هم من يمكنهم إجراء تنبؤات.
</p>

<p>
	إضافةً إلى ذلك ونظرًا لأن أنظمة الذكاء الصناعي غالبًا ما تتعامل مع المعلومات الشخصية والسرية، فمن الضروري اعتماد أساليب الحفاظ على الخصوصية، مثل إخفاء البيانات وحماية الهويات الشخصية. إذًا من خلال تضمين اعتبارات الأمان والخصوصية عند نشر نماذج الذكاء الاصطناعي، يؤمّن المطورون بيئة أكثر أمانًا ومسؤولية لمستخدمي الذكاء الصناعي.
</p>

<h4 id="-17">
	المراقبة والصيانة
</h4>

<p>
	المراقبة والصيانة هما شريان الحياة لنماذج الذكاء الصناعي المنشورة، حيث تضمنان استمرار دقتها وموثوقيتها وأدائها. بعد نشر نموذج الذكاء الصناعي الخاص بك، من المهم إنشاء نهج منظّم لمراقبة سلوكه ومعالجة أي مشكلات قد تنشأ لاحقًا. تتضمن المراقبة تتبع مقاييس مختلفة، مثل دقة التنبؤ وأوقات الاستجابة واستخدام الموارد لاكتشاف الأخطاء أو الانحرافات عن السلوك المتوقع. يجري ذلك من خلال إعداد التنبيهات والفحوصات الآلية، وبالتالي إمكانية تحديد أي مشكلات ومعالجتها على الفور قبل أن تؤثر على المستخدمين أو العمليات التجارية.
</p>

<p>
	بالنسبة للصيانة فهي تتجاوز موضوع الكشف عن الخلل وإصلاحه؛ إنها تنطوي على إدارة نماذج الذكاء الصناعي الخاصة بك بمرور الوقت، فمع تغيّر البيانات وتطور متطلبات المستخدم، قد يحتاج نموذجك إلى تحديثات دورية ليظل فعّالاً. تتضمن الصيانة أيضًا تحديد إصدارات النماذج وواجهات برمجة التطبيقات، مما يتيح لك إجراء تحسينات دون الإخلال بتجربة المستخدم.
</p>

<p>
	يضمن الاختبار المنتظم والتحقق من صحة سير العمل وقياس الأداء مقابل البيانات الجديدة، استمرار نماذجك في تقديم نتائج دقيقة. من خلال ضبط نماذجك باستمرار وإبقائها مواكبة لأحدث التطورات، فإنك تضمن أن حلول الذكاء الاصطناعي المنشورة تظل أصولًا قيّمة لمؤسستك.
</p>

<h2 id="-18">
	مستقبل برمجة الذكاء الاصطناعي
</h2>

<p>
	يتطور مجال برمجة الذكاء الصناعي بسرعة، ويحمل المستقبل إمكانيات مثيرة للاهتمام. من المرجح أن تصبح الحلول التي تعمل بالذكاء الصناعي أكثر سهولة، مع الأدوات التي تسمح للمطورين بمستويات مختلفة من الخبرة لإنشاء تطبيقات الذكاء الصناعي. نستكشف الآن الاتجاهات والتحديات والإمكانيات التي تنتظر مستقبل برمجة الذكاء الصناعي.
</p>

<h3 id="-19">
	من الخوارزميات إلى أنظمة التعلم
</h3>

<p>
	تتضمّن برمجة الذكاء الاصطناعي تقليديًا، صياغة خوارزميات معقدة لحل مشاكل محددة. إن مستقبل برمجة الذكاء الصناعي يتميز بالتحول نحو بناء أنظمة التعلم التي يمكن أن تتكيف وتتطور. لقد دفع التعلم الآلي وتقنيات التعلم العميق هذا التطور، مما مكّن أجهزة الحاسب من التعلم من البيانات وتحسين أدائها بمرور الوقت. نظرًا لأن برمجة الذكاء الصناعي تصبح أكثر اعتمادًا على البيانات، سيركز المطورون بشكل متزايد على إنشاء خوارزميات تعلم قوية وقابلة للتكيف والتطور وفقًا للبيانات.
</p>

<h3 id="-20">
	التعاون مع التخصصات الأخرى
</h3>

<p>
	لم تعد برمجة الذكاء الصناعي مجالًا <a href="https://academy.hsoub.com/programming/general/%D8%B9%D9%84%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D8%A8-%D8%B9%D9%84%D9%85%D8%A7%D8%A1-%D8%AA%D8%B1%D9%83%D9%88%D8%A7-%D8%A3%D8%AB%D8%B1%D9%8B%D8%A7-%D9%81%D9%8A-%D8%B9%D9%84%D9%88%D9%85-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D8%A8-r1803/" rel="">لعلماء الحاسب</a> فقط. سيشهد المستقبل تعاونًا متزايدًا بين مبرمجي الذكاء الصناعي وخبراء المجال وعلماء الأخلاق وعلماء النفس وغيرهم من المتخصصين. سيتطلب بناء أنظمة ذكاء اصطناعي ناجحة اتباع نهج متعدد التخصصات لضمان توافق التكنولوجيا مع احتياجات وقيم العالم الحقيقي.
</p>

<h3 id="-21">
	الذكاء الاصطناعي القابل للتفسير
</h3>

<p>
	عندما تصبح أنظمة الذكاء الاصطناعي أكثر تعقيدًا، يمكن أن تظهر عمليات اتخاذ القرار الخاصة بها على أنها "صناديق سوداء". هذا النقص في الشفافية يعيق التبني الأوسع للذكاء الاصطناعي في التطبيقات الهامة (عدم الثقة بقرار لاتعرف كيف أُنتج). سيشهد المستقبل طفرة في جهود البحث والتطوير لإنشاء أنظمة ذكاء اصطناعي قابلة للتفسير. ستوفر هذه الأنظمة رؤى حول كيفية توصل نماذج الذكاء الصناعي إلى قراراتهم، وبالتالي تعزيز الثقة بقرارات هذه النماذج وإمكانية التفسير.
</p>

<h3 id="automl">
	التعلم الآلي التلقائي AutoML
</h3>

<p>
	أصبحت برمجة الذكاء الاصطناعي نفسها أكثر ذكاءً. يشهد التعلم الآلي التلقائي اهتمامًا كبيرًا بين الباحثين والشركات. إنه مجال يُركز على أتمتة المراحل المختلفة من خط أنابيب التعلم الآلي. سيستخدم المطورون أدوات AutoML لاختيار الخوارزميات وعمليات المعالجة المسبقة وتحسين النماذج تلقائيًا، مما يجعل من عملية تطوير نماذج الذكاء الصناعي أكثر سهولة.
</p>

<h3 id="-22">
	واجهات اللغة الطبيعية
</h3>

<p>
	تتضمن برمجة الذكاء الاصطناعي التقليدية كتابة التعليمات البرمجية بلغات البرمجة. قد يتضمن المستقبل برمجة أنظمة الذكاء الاصطناعي باستخدام لغة طبيعية، أي أن مفهوم برمجة الذكاء الاصطناعي من الممكن أن يصبح أكثر تطورًا وسهولة. سيؤدي ذلك إلى إضفاء الطابع الديمقراطي على تطوير وبرمجة الذكاء الاصطناعي، مما يسمح للأفراد الذين ليس لديهم خبرة في كتابة الشيفرت البرمجية، بإنشاء تطبيقات ذكية من خلال محادثات بسيطة مع واجهات الذكاء الاصطناعي.
</p>

<h3 id="-23">
	الحوسبة المتطورة والذكاء الاصطناعي
</h3>

<p>
	تستعد حوسبة الحافة Edge Computing (نموذج حوسبة يهدف إلى تنفيذ المعالجة والحوسبة قرب مصادر البيانات "الحواف")، لتشكيل مستقبل برمجة الذكاء الاصطناعي. ستحتاج خوارزميات الذكاء الاصطناعي إلى التحسين للنشر على الأجهزة محدودة الموارد مثل الهواتف الذكية وأجهزة إنترنت الأشياء والأنظمة المدمجة. سيتطلب ذلك مستوى جديدًا من الكفاءة والقدرة على التكيف في برمجة الذكاء الاصطناعي.
</p>

<h3 id="-24">
	التعلم المستمر مدى الحياة والذكاء الاصطناعي
</h3>

<p>
	غالبًا ما يتم تدريب أنظمة الذكاء الاصطناعي التقليدية على مجموعات البيانات الثابتة. سيشهد المستقبل صعود التعلم المستمر والذكاء الاصطناعي مدى الحياة، حيث يمكن للأنظمة التعلم من البيانات الجديدة وتكييف معارفها دون نسيان تجارب التعلم السابقة. سيتطلب ذلك تقنيات خاصة لبرمجة الذكاء الاصطناعي تسهل التكامل السلس للمعلومات الجديدة في النماذج الحالية.
</p>

<h3 id="-25">
	برمجة الذكاء الاصطناعي الكمومية
</h3>

<p>
	سيؤدي ظهور الحوسبة الكمومية Quantum computing إلى إحداث نقلة نوعية في برمجة الذكاء الاصطناعي. تمتلك أجهزة الحاسب الكمومية القدرة على إحداث ثورة في خوارزميات التعلم الآلي والعميق ومشكلات التحسين. سيشهد المستقبل قيام مبرمجي الذكاء الاصطناعي بالتعمق في برمجة الذكاء الاصطناعي الكمومي لتسخير قوة الحوسبة الكمومية من أجل حلول ذكاء اصطناعي أسرع وأكثر كفاءة.
</p>

<h3 id="-26">
	الذكاء الاصطناعي المرتكز على الإنسان
</h3>

<p>
	إن مستقبل برمجة الذكاء الاصطناعي لا يقتصر فقط على بناء آلات أكثر ذكاءً؛ يتعلق الأمر بإنشاء ذكاء اصطناعي يكمل القدرات البشرية ويزيدها. ستصبح أنظمة الذكاء الاصطناعي أكثر تخصيصًا، بحيث تتكيف مع تفضيلات واحتياجات المستخدمين الفرديين. يتطلب هذا التحول من مبرمجي الذكاء الاصطناعي التأكيد على مبادئ التصميم التي تتمحور حول الإنسان، وإنشاء أنظمة تعزز الخبرات البشرية والإنتاجية.
</p>

<h3 id="-27">
	التعلم الموحد
</h3>

<p>
	مفهوم تحولي آخر يأتي مع انتشار الأجهزة المتصلة عبر الشبكات، حيث يُمكّن نماذج الذكاء الاصطناعي من التدريب بطريقة تعاونية عبر العديد من الأجهزة اللامركزية المتصلة بالشبكة، دون الحاجة إلى نقل البيانات الأولية إلى خادم مركزي.
</p>

<h3 id="iot">
	الذكاء الاصطناعي وإنترنت الأشياء IoT
</h3>

<p>
	يمثل تكامل الذكاء الاصطناعي مع إنترنت الأشياء تقاربًا بين تقنيتين تحويليتين تمتلكان القدرة على إعادة تشكيل الصناعات والحياة اليومية. يشير <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D8%A3%D8%B4%D9%8A%D8%A7%D8%A1-iot-r1514/" rel="">إنترنت الأشياء IoT</a> إلى شبكة من الأجهزة المادية المترابطة والمجهزة بأجهزة استشعار وبرامج واتصالات، مما يمكنها من جمع البيانات وتبادلها. من الناحية الأخرى، يُمكّن الذكاء الاصطناعي الآلات من محاكاة الوظائف الإدراكية البشرية مثل التعلم والاستدلال واتخاذ القرار. عندما تتضافر هاتان القوتان، تظهر أوجه تآزر ملحوظة.
</p>

<p>
	يضفي الذكاء الاصطناعي براعته التحليلية على الكم الهائل من البيانات التي تنتجها أجهزة إنترنت الأشياء. يمكن لهذه الأجهزة جمع البيانات من البيئة أو تفاعلات المستخدم أو حتى من الأجهزة الأخرى. يمكن لخوارزميات الذكاء الاصطناعي بعد ذلك معالجة هذه البيانات لاستخراج الأنماط والاتجاهات والحالات الشاذة التي يصعب على المحللين البشريين تمييزها في الزمن الحقيقي.
</p>

<p>
	تخيل مدينة ذكية حيث تتعاون الأجهزة المترابطة في إشارات المرور والكاميرات والمركبات لتحسين تدفق حركة المرور استجابةً لظروف الوقت الفعلي. تعالج خوارزميات الذكاء الاصطناعي البيانات من هذه الأجهزة وتتنبأ بالازدحام المروري وتضبط توقيت إشارات المرور ديناميكيًا للتخفيف من الاختناقات.
</p>

<h2 id="-28">
	التحديات والقيود في برمجة الذكاء الاصطناعي
</h2>

<p>
	في حين أن مجال برمجة الذكاء الاصطناعي يوفر فرصًا هائلة، إلا أنه مصحوب أيضًا بمجموعة من التحديات والقيود التي يجب على المطورين التعامل معها. أبرزها:
</p>

<ol>
	<li>
		جودة البيانات وكميتها
	</li>
	<li>
		الموارد الحسابية
	</li>
	<li>
		القابلية للتفسير والشرح
	</li>
	<li>
		الأخلاق والتحيز
	</li>
	<li>
		الافتقار إلى الفطرة السليمة وفهم السياق
	</li>
	<li>
		التعميم والقدرة على التكيف
	</li>
	<li>
		الأمان والخصوصية
	</li>
	<li>
		استهلاك الطاقة
	</li>
	<li>
		التعاون بين الإنسان والذكاء الاصطناعي
	</li>
	<li>
		التعلم المستمر والتحديثات
	</li>
</ol>

<h3 id="1">
	1. جودة البيانات وكميتها
</h3>

<p>
	تعتمد أنظمة الذكاء الاصطناعي بشكل كبير على البيانات للتعلم واتخاذ القرارات. يمكن أن تؤثر جودة وكمية البيانات المتاحة بشكل كبير على أداء نماذج الذكاء الاصطناعي. يمكن أن تؤدي البيانات غير الكاملة أو المتحيزة أو التي تتضمّن أخطاءً إلى تنبؤات غير دقيقة ونتائج غير موثوقة.
</p>

<h3 id="2">
	2. الموارد الحسابية
</h3>

<p>
	تتطلب خوارزميات الذكاء الاصطناعي، وخاصة نماذج التعلم العميق، موارد حسابية كبيرة. تتطلب نماذج التدريب المعقدة أجهزة قوية، وعلى الرغم من أن الحوسبة السحابية جعلت هذه الموارد أكثر سهولة، إلا أن التكلفة والتوافر لا يزالان من القيود المفروضة على بعض المشاريع.
</p>

<h3 id="3">
	3. القابلية للتفسير والشرح
</h3>

<p>
	مع ازدياد تعقيد أنظمة الذكاء الاصطناعي، يصبح فهم كيفية التوصل إلى قرارات معينة تحديًا متزايدًا. يمكن أن يؤدي هذا الافتقار إلى الشفافية إلى إعاقة الثقة والتبني، خاصة في التطبيقات المهمة مثل الرعاية الصحية والتمويل.
</p>

<h3 id="4">
	4. الأخلاق والتحيز
</h3>

<p>
	يمكن لنماذج الذكاء الاصطناعي أن تديم التحيزات الموجودة في بيانات التدريب دون قصد، مما يؤدي إلى نتائج غير عادلة أو تمييزية. يمثل تحقيق التوازن بين قدرات اتخاذ القرار في الذكاء الاصطناعي والاعتبارات الأخلاقية تحديًا مستمرًا.
</p>

<h3 id="5">
	5. الافتقار إلى الفطرة السليمة وفهم السياق
</h3>

<p>
	تكافح أنظمة الذكاء الاصطناعي مع التفكير المنطقي وفهم السياق بنفس الطريقة التي يعمل بها البشر. قد يتفوقون في مهام محددة لكنهم يفتقرون إلى الفهم الأوسع الذي يمتلكه البشر.
</p>

<h3 id="6">
	6. التعميم والقدرة على التكيف
</h3>

<p>
	بينما يمكن تدريب نماذج الذكاء الاصطناعي على أداء مهام محددة، قد يكون نقل تلك المعرفة إلى سيناريوهات أو مجالات جديدة أمرًا صعبًا. لا يزال تحقيق القدرة الحقيقية على التكيّف عبر مختلف السياقات يمثل تحديًا مستمرًا.
</p>

<h3 id="7">
	7. الأمان والخصوصية
</h3>

<p>
	أنظمة الذكاء الاصطناعي التي تتعامل مع البيانات الحساسة عرضة للانتهاكات الأمنية. بالإضافة إلى ذلك، يشكل ضمان الخصوصية عند التعامل مع بيانات المستخدم تحديات أخلاقية وقانونية تتطلب دراسة متأنية.
</p>

<h3 id="8">
	8. استهلاك الطاقة
</h3>

<p>
	يمكن أن يكون تدريب نماذج التعلم العميق مُستهلكًا كبيرًا للطاقة، مما يساهم في إثارة المخاوف بشأن التأثير البيئي لتطوير الذكاء الاصطناعي.
</p>

<h3 id="9">
	9. التعاون بين الإنسان والذكاء الاصطناعي
</h3>

<p>
	إن دمج الذكاء الاصطناعي بسلاسة في سير العمل البشري يعتبر تحديًا، ويتطلب التأكد من أن الذكاء الاصطناعي يُكمل المهارات البشرية ويساعد بشكل فعال، وهذا يتطلب فهماً عميقاً لكلا المجالين.
</p>

<h3 id="10">
	10. التعلم المستمر والتحديثات
</h3>

<p>
	تحتاج نماذج الذكاء الاصطناعي إلى التطور بمرور الوقت لتبقى ملائمة ودقيقة. يتطلب تحديث النماذج والتحسين المستمر لأدائها جهدًا مستمرًا.
</p>

<p>
	التعرف على هذه القيود أمر بالغ الأهمية لإنشاء أنظمة ذكاء اصطناعي مسؤولة وفعالة. تتطلب مواجهة هذه التحديات التعاون بين الباحثين والمطورين وواضعي السياسات والمجتمع ككل. بينما ندفع حدود برمجة الذكاء الاصطناعي، من المهم الحفاظ على منظور متوازن والعمل على التغلب على هذه العقبات من أجل تحسين مستقبلنا الذي يحركه الذكاء الاصطناعي.
</p>

<h2 id="-29">
	مصادر تعلم برمجة الذكاء الاصطناعي
</h2>

<p>
	يعد التعرف على الذكاء الاصطناعي رحلة مثيرة تتطلب الوصول إلى مجموعة متنوعة من الموارد لتعميق فهمك ومهاراتك. فيما يلي بعض موارد تعلم الذكاء الاصطناعي القيمة لمساعدتك على البدء والتقدم في هذا المجال:
</p>

<h3 id="-30">
	الدورات التدريبية
</h3>

<p>
	هناك العديد من الموارد المتاحة عبر الإنترنت لتعلم برمجة الذكاء الاصطناعي. تقدم أكاديمية حسوب دورة شاملة لتعلم برمجة الذكاء الاصطناعي باستخدام لغة بايثون، التي تعد كما ذكرنا اللغة الأساسية لكتابة تطبيقات ونماذج الذكاء الصناعي، حيث يمكنك تعلمها من خلال <a href="https://academy.hsoub.com/learn/artificial-intelligence/" rel="">دورة الذكاء الاصطناعي</a> التي تعد دورة شاملة لاحتراف  برمجة الذكاء الاصطناعي وتحليل البيانات وتعلم كافة المعلومات المطلوبة لبناء نماذج ذكاء اصطناعي متخصصة مع مُدربين مُميزين يُرافقونك طوال الدورة للإجابة عن استفساراتك. تبقى الدورة مفتوحة لك مدى الحياة، كما أنها تطور باستمرار لمواكبة أحدث التطورات في المجال.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" id="ips_uid_7345_6" src="https://academy.hsoub.com/applications/core/interface/index.html" title="دورة الذكاء الاصطناعي - أكاديمية حسوب" width="560" data-embed-src="https://www.youtube.com/embed/9ESA9owvmGM"></iframe>
</p>

<h3 id="-31">
	الكتب
</h3>

<p>
	يُمثل كتاب <a href="https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">مدخل إلى الذكاء الاصطناعي وتعلم الآلة</a> نقطة بدءٍ مناسبةٍ للمبتدئين الذين يرغبون الخوض في هذا المجال ويرغبون في فهم المفاهيم الأساسية للتعلم العميق والشبكات العصبية وتعلم الآلة، حيث يبدأ الكتاب معك من الأساسيات ليمهد الطريق أمامك لتعلم هذا العلم.
</p>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" src="https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/?do=embed" style="margin: auto;"></iframe>

<p>
	يمكنك أيضًا الاطلاع على كتاب <a href="https://academy.hsoub.com/release-notes/%D9%86%D8%B4%D8%B1-%D9%83%D8%AA%D8%A7%D8%A8-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r22/" rel="">عشرة مشاريع عملية عن الذكاء الاصطناعي</a> إما بعد الكتاب السابق أو يمكنك البدء به مباشرة إن كانت لديك خبرة أساسية.
</p>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" src="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A?do=embed" style="margin: auto;"></iframe>

<h3 id="-32">
	مؤتمرات وورش عمل الذكاء الاصطناعي
</h3>

<p>
	يُعتبر مؤتمر NeurIPS أحد أكبر مؤتمرات الذكاء الاصطناعي مع العروض التقديمية وورش العمل. هناك أيضًا مؤتمر CVPR الذي يُركز على رؤية الحاسب والتعلم العميق و ICML يُغطي أبحاث وتطبيقات التعلم الآلي.
</p>

<h3 id="-33">
	المقالات والمدونات
</h3>

<p>
	يمكنك أيضًا الاطلاع على عشرات المقالات المتعلقة بالذكاء الصناعي، والتي توفرها أكاديمية حسوب في <a href="https://academy.hsoub.com/programming/artificial-intelligence/" rel="">قسم الذكاء الاصطناعي</a>.
</p>

<h3 id="-34">
	المجتمعات عبر الإنترنت
</h3>

<p>
	يوفر قسم <a href="https://academy.hsoub.com/questions/" rel="">أسئلة وأجوبة في أكاديمية حسوب</a> إمكانية طرح أسئلة للإجابة عليها من قبل مختصين في كافة المجالات ومنها مجال برمجة الذكاء الاصطناعي.
</p>

<h3 id="-35">
	البرمجة والممارسة
</h3>

<p>
	يُقدّم موقع كاغل Kaggle مسابقات في الذكاء الاصطناعي ومجموعات بيانات وموارد سحابية لتدريب النماذج. يمكنك أيضًا الذهاب إلى غيت هاب GitHub لاستكشف مشاريع ومستودعات الذكاء الاصطناعي مفتوحة المصدر. تُمكّنك أكاديمية حسوب أيضًا من البدء بإنشاء مشاريعك من خلال الاطلاع على مشاريع مرجعية مشروحة ومنظمة جيدًا. مثل كتاب <a href="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">عشرة مشاريع عملية عن الذكاء الاصطناعي</a>.
</p>

<h3 id="-36">
	الوثائق الرسمية لأطر عمل الذكاء الاصطناعي
</h3>

<p>
	اطلع على الوثائق الرسمية والبرامج التعليمية مثل توثيق <a href="https://pytorch.org/get-started/locally/" rel="external nofollow">باي تورش PyTorch</a> وتوثيق <a href="https://www.tensorflow.org/" rel="external nofollow">تنسرفلو TensorFlow</a> عبر موقعهم الرسمي. فهم يقدمون شروحات موجزة وأمثلة وحالات استخدام مختلفة إضافة إلى التوثيق الرسمي لكافة الأدوات المستخدمة في بناء وبرمجة الذكاء الاصطناعي.
</p>

<p>
	تذكر أن الذكاء الاصطناعي هو مجال سريع التطور، لذا فإن البقاء على اطلاع بأحدث الأوراق البحثية والتطورات أمر هام، كما أن البقاء على اطلاع على أحدث الأدوات المستخدمة في برمجة الذكاء الاصطناعي هو أمر هام أيضًا. استخدم مجموعة من هذه الموارد لبناء أساس قوي ومواصلة التفاعل مع مجتمع الذكاء الاصطناعي.
</p>

<h2 id="-37">
	خاتمة
</h2>

<p>
	برز عالم الذكاء الاصطناعي كثورة ضمن المشهد التكنولوجي سريع التطور الذي ظهر في العقود القليلة الماضية، يقدم فرصًا وتحديات لا حدود لها على حد سواء. بينما كنا نتعمق في عالم برمجة الذكاء الاصطناعي، شرعنا في رحلة بدأت من التحدث عن لغات وأدوات برمجة الذكاء الاصطناعي إلى المكتبات والأطر المتطورة وإنشاء نماذج الذكاء الاصطناعي ونشر هذه النماذج.
</p>

<p>
	بالنظر إلى الأُفق، اكتشفنا المستقبل الذي ينتظر برمجة الذكاء الاصطناعي. إن مفاهيم مثل الذكاء الاصطناعي القابل للتفسير والتعلم الموحد ودمج الذكاء الاصطناعي مع إنترنت الأشياء هي المفتاح لفتح أبعاد جديدة للابتكار. بينما نرتقي إلى مستويات أعلى، يجب أن نعترف بالقيود والاعتبارات الأخلاقية التي تقدمها برمجة الذكاء الاصطناعي ونعالجها. أخيرًا، كان لابد لنا من ذكر بعض من المصادر الهامة لتعلّم الذكاء الصناعي.
</p>

<p>
	في الختام، مجال برمجة الذكاء الاصطناعي هو نسيج معقد منسوج بخيوط من الابتكار والأخلاق وإمكانات لا حدود لها. بينما نتنقل في هذا المشهد المعقد، فإننا لسنا مجرد مبرمجي آلات؛ نحن نشكل مستقبل الأنظمة الذكية التي لديها القدرة على إحداث ثورة في الصناعات وتعزيز حياة البشر وإعادة تعريف نسيج وجودنا التكنولوجي. إن سمفونية جهودنا في برمجة الذكاء الاصطناعي تتماشى مع الوعد بمستقبل حيث تشرع الآلات، مسترشدةً ببراعتنا، في رحلة من الذكاء والفهم.
</p>

<h2 id="-38">
	انظر أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تعلم الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-%D8%A7%D9%84%D8%AA%D8%AD%D8%AF%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9-%D9%88%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%B3%D8%B9-%D9%81%D9%8A-%D8%A7%D9%84%D9%85%D8%AC%D8%A7%D9%84-r1010/" rel="">تعلم الآلة: التحديات الرئيسية وكيفية التوسع في المجال</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2156</guid><pubDate>Sat, 28 Oct 2023 13:00:00 +0000</pubDate></item><item><title>&#x62E;&#x648;&#x627;&#x631;&#x632;&#x645;&#x64A;&#x627;&#x62A; &#x627;&#x644;&#x630;&#x643;&#x627;&#x621; &#x627;&#x644;&#x627;&#x635;&#x637;&#x646;&#x627;&#x639;&#x64A;</title><link>https://academy.hsoub.com/programming/artificial-intelligence/%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_09/--.png.8c1dc822a119d1deef8381c09ad9645f.png" /></p>
<p>
	نشأ الذكاء الصناعي في الخمسينيات من القرن الماضي عندما بدأ بعض الباحثين في مجال علوم الحاسب بالتساؤل عما إذا كان من الممكن جعل أجهزة الحاسب "تفكر" -وهو سؤال ما زلنا نستكشف تداعياته حتى اليوم. إن التعريف المختصر لمجال الذكاء الصناعي على النحو التالي: هو الجهد المبذول لأتمتة المهام الفكرية التي يؤديها البشر عادة.
</p>

<p>
	تشكل خوارزميات الذكاء الصناعي أساس الأنظمة الذكية الحديثة، حيث تمكّن الآلات من التعلم والاستنتاج واتخاذ القرارات باستقلالية. أحدثت هذه الخوارزميات ثورة في مختلف المجالات، بدءًا من الرؤية الحاسوبية ومعالجة اللغة الطبيعية إلى الروبوتات وأنظمة التوصية. يعد فهم المفاهيم والأنواع الأساسية لخوارزميات الذكاء الصناعي أمرًا بالغ الأهمية لفهم تعقيدات الذكاء الصناعي وتطبيقاته الواسعة.
</p>

<p>
	لقد حققت خوارزميات الذكاء الصناعي في السنوات الأخيرة تقدمًا كبيرًا، وذلك بفضل توفر كميات هائلة من البيانات وزيادة القدرة الحسابية وتحقيق اختراقات في البحث الخوارزمي. تتمتع هذه الخوارزميات بالقدرة على معالجة مجموعات البيانات الضخمة وتحليلها واكتشاف الأنماط المخفية واستخلاص رؤى قيّمة من البيانات. لقد أصبحوا فعّالين في حل المشكلات المعقدة التي كانت تعتبر ذات يوم تتجاوز قدرات الآلات.
</p>

<p>
	يشمل مجال الذكاء الاصطناعي العديد من مناهج الخوارزميات، كل منها مصمم لمعالجة مهام ومجالات مشكلة محددة، ويمكن فرز أنواع هذه الخوارزميات بطرق عديدة: حسب طريقة التدريب أو نوع البيانات التي تتعامل معها أو حجم البيانات التي يمكن أن تستفيد منها، لكن التصنيف الأشيع يكون وفقًا للمهمة التي يمكن أن تؤديها.
</p>

<p>
	بينما توفر <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">خوارزميات الذكاء الاصطناعي</a> إمكانات هائلة، فإنها تطرح أيضًا تحديات واعتبارات أخلاقية. يجب معالجة قضايا مثل تحيز البيانات وقابلية التفسير والإنصاف والخصوصية لضمان النشر المسؤول والأخلاقي لأنظمة الذكاء الاصطناعي. علاوة على ذلك، يستمر مجال الذكاء الاصطناعي في التطور بسرعة، مع استمرار البحث والتقدم في تقنيات الخوارزميات. تعد مواكبة أحدث التطورات وفهم نقاط القوة والقيود الخاصة بالخوارزميات المختلفة أمرًا ضروريًا للممارسين والباحثين وصناع السياسات.
</p>

<p>
	سوف نستكشف في هذا المقال الأنواع الرئيسية لخوارزميات الذكاء الاصطناعي وفقًا للمهمة التي تؤديها ونناقش خصائصها وكيفية تطبيقها ونفحص التحديات التي تطرحها هذه الخوارزميات.
</p>

<p>
	من خلال اكتساب فهم شامل لخوارزميات الذكاء الاصطناعي، يمكننا تقدير أهميتها في قيادة الابتكار وحل المشكلات المعقدة وتشكيل <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مستقبل الذكاء الاصطناعي</a> والحياة.
</p>

<h2>
	تمهيد إلى خوارزميات الذكاء الاصطناعي
</h2>

<p>
	لابد من التنويه لبعض النقاط المهمة لكي نضمن لك قراءةً مستنيرة خلال هذه المقالة.
</p>

<h3>
	المتطلبات
</h3>

<p>
	لتكون على بينةٍ أثناء قراءة هذه المقالة، لابد وأن يكون لديك:
</p>

<ol>
	<li>
		معرفة مسبقة بالذكاء الصناعي وفروعه وأساسياته، سيكون من الأفضل أن تقرأ <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A" rel="">المقالة الأولى</a> في هذه السلسلة على الأقل.
	</li>
	<li>
		معرفة بمجالات الذكاء الصناعي. يمكنك قراءة مقالة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D9%85%D8%AC%D8%A7%D9%84%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">مجالات الذكاء الاصطناعي</a>.
	</li>
	<li>
		(اختياري) أن يكون لديك اطلاع على تعلم الآلة. يمكنك قراءة مقالة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة</a>.
	</li>
</ol>

<h3>
	هل يجب أن أعرف جميع أنواع خوارزميات الذكاء الاصطناعي؟
</h3>

<p>
	لكي تصبح مبرمجًا للذكاء الاصطناعي، ليس من الضروري معرفة جميع أنواع خوارزميات الذكاء الاصطناعي. مجال الذكاء الاصطناعي واسع ويشمل مجموعة واسعة من الخوارزميات والتقنيات. بصفتك مبرمجًا للذكاء الاصطناعي، يمكنك اختيار التخصص في مجالات أو خوارزميات محددة بناءً على اهتماماتك وأهدافك المهنية ومتطلبات المشاريع التي تعمل عليها.
</p>

<p>
	ومع ذلك فإن وجود فهم عام للمفاهيم الأساسية والخوارزميات شائعة الاستخدام في الذكاء الاصطناعي أمر مفيد. يتضمن ذلك معرفة خوارزميات التعلم الآلي مثل التعلم الخاضع للإشراف والتعلم غير الخاضع للإشراف والتعلم المعزز. إضافةً إلى ذلك يمكن أن يكون الإلمام بالشبكات العصبية وتقنيات التعلم العميق مفيدًا للغاية، حيث يتم استخدامها على نطاق واسع في تطبيقات الذكاء الاصطناعي المختلفة.
</p>

<p>
	خلال قراءتك للمقالة سترى مراجعة شاملة للمناهج والخوارزميات وسياق تطورها، لكن ليس من الضروري أن تتعرّف عن قرب عن جميعها أو حتى نصفها، فكما ذكرت؛ هذا يعتمد على المجال الذي ستختص فيه. مثلًا إن كان اهتمامك في معالجة اللغات الطبيعية أو الرؤية الحاسوبية، فلن تحتاج إلى الخوارزميات التطورية أو التعلم المعزز كقاعدة عامة.
</p>

<h3>
	ما الفرق بين خوارزميتن الذكاء الاصطناعي ونموذج الذكاء الاصطناعي
</h3>

<p>
	خوارزمية الذكاء الاصطناعي هي مجموعة التعليمات التي تحدد كيفية تنفيذ مهمة حسابية، بينما نموذج الذكاء الاصطناعي هو التمثيل المكتسب الناتج عن تطبيق الخوارزمية على بيانات التدريب.
</p>

<p>
	لتوضيح الفرق ضع في اعتبارك السيناريو التالي: تريد إنشاء نموذج لتصنيف صور القطط والكلاب. يمكن أن تكون الخوارزمية التي تختارها عبارة عن شبكة عصبية تلافيفية CNN، والتي تحدد بنية الشبكة وعملية التدريب عليها. النموذج في هذه الحالة سيكون CNN المُدرّبة أي بعد أن تعلّمت من مجموعة البيانات. يمكن بعد ذلك استخدام النموذج لتصنيف الصور الجديدة غير المرئية كقطط أو كلاب.
</p>

<p>
	باختصار النموذج هو ناتج الخوارزمية، أي يمكن القول أن النموذج هو خوارزمية مُدرّبة جاهزة للاستخدام والتطبيق الفعلي. تجدر الإشارة إلى أنهما مصطلحان يُستخدمان غالبًا بالتبادل، لكن يجب معرفة الفرق بينهما.
</p>

<h3>
	ما المقصود بالأنماط
</h3>

<p>
	تشير الأنماط في سياق الذكاء الاصطناعي إلى الهياكل أو العلاقات المتكررة في البيانات التي يمكن تحديدها واستخدامها لعمل تنبؤات أو استخلاص رؤى. من خلال تحليل كميات كبيرة من البيانات، يمكن لخوارزميات الذكاء الاصطناعي تحديد الأنماط والتعلم منها لتحسين الأداء أو اتخاذ قرارات ذكية.
</p>

<p>
	يمكن أن تظهر الأنماط في أشكال مختلفة، مثل السلاسل الرقمية أو السلاسل النص أو الصور أو الإشارات الصوتية. صُمّمت خوارزميات الذكاء الاصطناعي للتعرف على الأنماط داخل أنواع البيانات هذه واستخراج الخصائص ذات الصلة التي تساعد في حل مهام محددة. على سبيل المثال، في التعرف على الصور، تتعلم خوارزميات الذكاء الاصطناعي أنماطًا من قيم البكسل تتوافق مع كائنات أو ميزات مختلفة. في معالجة اللغة الطبيعية، تتعلم نماذج الذكاء الاصطناعي أنماطًا في تراكيب اللغة والسياق لفهم وإنشاء نص يشبه الإنسان.
</p>

<p>
	باختصار، النمط هو شكل معيّن تتكرر فيه المعلومات، وهي صفات وخصائص تُميّز الأشياء، وهو مصطلح أساسي في تعلّم الآلة. مثلًا: كل التفاحات لها شكل شبه كروي (نمط)، العرب ينطقون لغة خاصة هي اللغة العربية (نمط)، يمكن تمييز الطبيب في المستشفى من لباسه (نمط).
</p>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedauthorid="3889" data-embedcontent="" src="https://academy.hsoub.com/files/29-%D8%B9%D8%B4%D8%B1%D8%A9-%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9-%D8%B9%D9%86-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/?do=embed" style="margin: auto;"></iframe>

<h2>
	تطور خوارزميات الذكاء الاصطناعي: من الأنظمة المعتمدة على القواعد إلى أعجوبة التعلم العميق
</h2>

<p>
	شهدت خوارزميات الذكاء الصناعي تطورًا ملحوظًا على مر السنين، مما دفع مجال الذكاء الصناعي إلى آفاق جديدة للابتكار والتطبيق. من البدايات المتواضعة إلى أحدث التطورات، تُظهر رحلة خوارزميات الذكاء الصناعي التقدم الملحوظ الذي تم إحرازه في تطوير الأنظمة الذكية. يستكشف هذا القسم من المقالة تطور خوارزميات الذكاء الصناعي وتتبع أسسها والمعالم الرئيسية والاتجاهات الناشئة التي تشكل مستقبل الذكاء الصناعي.
</p>

<h3>
	الأيام الأولى: الذكاء الاصطناعي المعتمد على القواعد والأنظمة الخبيرة
</h3>

<p>
	يمكن إرجاع جذور خوارزميات الذكاء الاصطناعي إلى الأيام الأولى من المجال عندما ركز الباحثون على الذكاء الصناعي المعتمد على القواعد والأنظمة الخبيرة. تضمنت هذه الأساليب تمثيل المعرفة البشرية في أنظمة قائمة على القواعد، وتمكين أجهزة الحاسب من محاكاة التفكير البشري وحل مشكلات محددة ضمن مجالات محددة مسبقًا. كان التطور الملحوظ خلال هذه الفترة هو إنشاء أنظمة خبيرة يمكن أن تحاكي قدرات صنع القرار للخبراء البشريين في المجالات المتخصصة.
</p>

<h3>
	ثورة التعلم الآلي: الانتقال من القواعد الصريحة إلى التعلم من البيانات
</h3>

<p>
	كان ظهور التعلم الآلي بمثابة تحول كبير في خوارزميات الذكاء الاصطناعي، والانتقال من البرمجة الصريحة القائمة على القواعد إلى الخوارزميات التي تتعلم من البيانات. اكتسبت المناهج الإحصائية بدايةً مكانة بارزة، مما سمح للآلات بالتعرف على الأنماط وإجراء التنبؤات بناءً على الأمثلة المرصودة. شهد لاحقًا هذا العصر ظهور خوارزميات مثل الانحدار الخطي والانحدار اللوجستي وأشجار القرار، مما مكّن الآلات من التعلم من البيانات المصنفة واتخاذ قرارات مستنيرة. كما أدى تطوير الشبكات العصبية وخوارزمية الانتشار العكسي في هذه الفترة إلى دفع المجال بشكل أكبر من خلال تقديم مفهوم تدريب الشبكات العميقة.
</p>

<h3>
	التعلم المعزز: التعلم من خلال التفاعل مع البيئة
</h3>

<p>
	اكتسبت خوارزميات التعلم المعزز مكانة بارزة من خلال تمكين الآلات من التعلم من خلال التفاعلات مع البيئة، وهي مستوحاة من علم النفس السلوكي. تعمل هذه الخوارزميات على تحسين عمليات اتخاذ القرار من خلال تعظيم المكافآت والعقوبات وبشكل تراكمي. تشمل المعالم الرئيسية لهذه المرحلة تطوير خوارزمية Q-Learning وتمهيد الطريق للتعلم المعزز الحديث والتطورات اللاحقة مثل شبكات كيو العميقة DQN وغيرهم. حقق التعلم المعزز نجاحًا ملحوظًا في مجالات مثل لعب الألعاب والروبوتات، حيث أُظهرت قوة التعلّم من خلال التجربة والخطأ.
</p>

<h3>
	الخوارزميات التطورية: التحسين والبحث
</h3>

<p>
	تستمد الخوارزميات التطورية الإلهام من التطور الطبيعي والمبادئ الجينية لتحسين المشكلات المعقدة والبحث عن الحلول المثلى. تعد الخوارزميات الجينية وخوارزميات أسراب الطيور وخوازميات مستعمرات النمل -أمثلة على الخوارزميات التطورية التي أثبتت فعاليتها في حل بعض مشكلات التحسين المعقدة. وجدت هذه الخوارزميات تطبيقات في مجالات مثل التصميم الهندسي والجدولة واستخراج البيانات.
</p>

<h3>
	التعلم العميق: إطلاق العنان لقوة الشبكات العصبية
</h3>

<p>
	ظهرت خوارزميات <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D9%84%D9%81%D9%87%D9%85-%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%82-r1422/" rel="">التعلم العميق</a> كقوة مهيمنة في الذكاء الصناعي، تغذيها التطورات في القوة الحسابية وتوافر كميات هائلة من البيانات. من خلال الاستفادة من فكرة الطبقات المتعددة للشبكات العصبية، تفوقت خوارزميات التعلم العميق على خوارزميات التعلّم الآلي الأخرى في جميع المهام الحسية والإدراكية. أحدثت الشبكات العصبية التلافيفية CNNs ثورة في مهام الرؤية الحاسوبية، بينما أظهرت الشبكات العصبية المتكررة RNNs أداءً استثنائيًا في تحليل البيانات النصية والزمنية. يتيح عمق وتعقيد هذه الشبكات استخراج معلومات عالية الدقة من البيانات، وإطلاق العنان لإمكانيات جديدة في مجالات مثل التعرف على الصور ومعالجة اللغة الطبيعية والتعرّف على الكلام.
</p>

<h3>
	ظهور النهج الهجين
</h3>

<p>
	مع استمرار تطور خوارزميات الذكاء الاصطناعي، اكتسبت الأساليب الهجينة التي تجمع بين تقنيات متعددة مكانة بارزة. مثلًا أدى دمج التعلم العميق مع التعلم المعزز إلى حدوث تطورات في مجالات مثل القيادة المستقلة ولعب الألعاب. أتاح اندماج الخوارزميات التطورية مع تقنيات التعلم الآلي إنشاء استراتيجيات تحسين أكثر قوة. تستفيد المناهج الهجينة من نقاط القوة في النماذج الحسابية المختلفة لمواجهة تحديات العالم الحقيقي المعقدة.
</p>

<p>
	يعد تطوّر خوارزميات الذكاء الصناعي عملية مستمرة، مع العديد من الاتجاهات الناشئة التي تشكل مستقبل المجال.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة الذكاء الاصطناعي
		</p>

		<p class="banner-subtitle">
			احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة.
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/artificial-intelligence" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<a href="https://academy.hsoub.com/learn/artificial-intelligence" rel=""><img alt="دورة الذكاء الاصطناعي AI" src="https://academy.hsoub.com/learn/assets/images/courses/artificial-intelligence.png"></a>
	</div>
</div>

<h2>
	أنواع خوارزميات الذكاء الاصطناعي وفقًا لنواع المهمة
</h2>

<p>
	هناك عدة أنواع من خوارزميات الذكاء الصناعي وفقًا لنوع المهمة، وهي تندرج عمومّا تحت 6 أنواع هي: الانحدار والتصنيف والعنقدة والتجميع والتوليد والتفاعل.
</p>

<h3>
	خوارزميات الانحدار أو التوقع Regression
</h3>

<p>
	يُعد هذا النوع من الخوارزميات من خوارزميات تعلم الآلة الخاضعة للإشراف، وتستخدم لعمل تنبؤات. يتضمن التطبيق الرئيسي لخوارزميات الانحدار التنبؤ بسعر سوق الأسهم والتنبؤ بالطقس، وما إلى ذلك. هناك أنواع مختلفة من الانحدار مثل الانحدار الخطي والانحدار متعدد الحدود وما إلى ذلك. الخوارزميات الأكثر شيوعًا في هذا القسم هي خوارزمية الانحدار الخطي Linear Regression.
</p>

<p>
	تُستخدم خوارزمية الانحدار الخطي لتحليل العلاقة بين متغيرين: متغير إدخال (غالبًا ما يسمى المتغير المستقل) ومتغير الإخراج (غالبًا ما يسمى المتغير التابع). يهدف إلى العثور على علاقة خطية أو اتجاه يناسب نقاط البيانات بشكل أفضل. تعمل الخوارزمية من خلال إيجاد معادلة مستقيم تساهم في تقليل الفرق بين القيم المتوقعة والقيم الحقيقية لمتغير الإخراج. يمكن استخدام هذه المعادلة لاحقًا لعمل تنبؤات لقيم الإدخال الجديدة بناءً على العلاقة التي تم تعلمها. غالبًا ما يستخدم الانحدار الخطي في مهام مثل التنبؤ بأسعار المنازل بناءً على عوامل مثل الحجم والموقع ، أو تقدير المبيعات بناءً على نفقات الإعلان ، أو تحليل تأثير المتغيرات على نتيجة معينة. يوفر طريقة بسيطة وقابلة للتفسير لفهم العلاقة بين المتغيرات وعمل تنبؤات بناءً على تلك العلاقة.
</p>

<h3>
	خوارزميات التصنيف Classification
</h3>

<p>
	خوارزميات تُستخدم لتصنيف البيانات إلى فئتين أو أكثر، وتعتبر خوارزميات التصنيف جزءًا من التعلم الخاضع للإشراف. على سبيل المثال، يمكن استخدام خوارزميات التصنيف لتصنيف رسائل البريد الإلكتروني كرسائل عادية أو عشوائية Spam. هناك نوعان أساسيان من التصنيف:
</p>

<ol>
	<li>
		<strong>تصنيف الثنائي Binary classification</strong>: هنا يكون لدينا فئتين. مثلًا في مهمة تصنيف المرضى المصابين بكوفيد 19، يجب على الخوارزمية أن تحدد فيما إذا كان الشخص مريضًا أو غير مريض.
	</li>
	<li>
		<strong>تصنيف متعدد الفئات Multiclass classification</strong>: هنا يكون لدينا أكثر من فئة. مثلًا في مهمة تصنيف مراجعات الأفلام. يجب على الخوارزمية أن تحدد فيما إذا كان الشخص معجبًا بالفيلم أو غير معجب أو محايد.
	</li>
</ol>

<p>
	من أشهر خوارزميات التصنيف خوارزمية الانحدار اللوجستي Logistic regression والغابات العشوائية Random Forest و SVM إضافةً إلى الشبكات العصبية والتعلم العميق. غالبًا ما يستخدم الانحدار اللوجستي لمشاكل التصنيف الثنائي، بينما تُعرف الغابات العشوائية و SVM بقدرتهما على التعامل مع مهام التصنيف الثنائية ومتعددة الفئات. اكتسبت الشبكات العصبية، بما في ذلك نماذج التعلم العميق، شعبية هائلة بسبب قدرتها على تعلم الأنماط المعقدة في البيانات، مما يجعلها مناسبة لمجموعة واسعة من مشاكل التصنيف. توفر هذه الخوارزميات أدوات قوية للباحثين والممارسين <a href="https://academy.hsoub.com/programming/general/%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA/" rel="">لتحليل البيانات</a> وتصنيفها، مما يتيح التقدم في مجالات مثل التعرف على الصور ومعالجة اللغة الطبيعية والتشخيص الطبي ..إلخ.
</p>

<h3>
	خوارزميات العنقدة Clustering
</h3>

<p>
	تُستخدم لتجميع العناصر المتشابهة بغية فرزها أو تصنيفها أو اختزالها. تعتمد هذه الخوارزميات على تقسيم البيانات إلى مجموعات مميزة من العناصر المتشابهة. خذ مثلًا عملية تحميل الصور على أحد مواقع التواصل الاجتماعي كمثال. هنا قد يرغب الموقع في تجميع الصور التي تُظهر الشخص نفسه مع بعضها بغية تنظيم صورك. إلا أن الموقع لا يعرف من يظهر في الصور ولا يعرف عدد الأشخاص المختلفين الذين يظهرون في مجموعة الصور خاصتك. تتمثل الطريقة المعقولة لحل المشكلة في استخراج كل الوجوه وتقسيمها إلى مجموعات من الوجوه المتشابهة، ومن أجل كل صورة جديدة تحملها يضعها في المجموعة الأكثر شبهًا لها. هذا مايُسمّى بالعنقدة. أبرز أمثلتها هي الخوارزمية التصنيفية <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%B9%D9%86%D9%82%D8%AF%D8%A9-%D9%84%D8%AA%D8%AC%D8%B2%D8%A6%D8%A9-%D8%B9%D9%85%D9%84%D8%A7%D8%A1-%D9%85%D8%AA%D8%AC%D8%B1-%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-r1477/" rel="">K-Means</a>.
</p>

<h3>
	خوارزميات التعلم الجماعي Ensemble learning
</h3>

<p>
	يشير التعلم الجماعي إلى الخوارزميات التي تجمع التنبؤات من نموذجين أو أكثر. على الرغم من وجود عدد غير محدود تقريبًا من الطرق التي يمكن من خلالها تحقيق ذلك، ربما توجد ثلاث فئات من تقنيات التعلم الجماعي التي تتم مناقشتها بشكل شائع واستخدامها في الممارسة العملية:
</p>

<ol>
	<li>
		<strong>التعبئة Bagging</strong>: يعتمد على استخدام عدة نماذج لإنشاء التوقعات، ثم أخذ قرار الغالبية. أي مثلًا كان هناك 3 نماذج تتوقع أن الشخص مريض ونموذج واحد يتوقع أنه غير مريض، فتكون النتيجة أنه غير مريض بتصويت الغالبية.
	</li>
	<li>
		<strong>التكديس Stacking</strong>: هنا يُستخدم نموذج آخر لمعرفة أفضل طريقة للجمع بين تنبؤات النماذج.
	</li>
	<li>
		<strong>التعزيز Boosting</strong>: هنا يكون لدينا عدة نماذج وكل منها يُصحح أخطاء الآخر على التسلسل، وصولًا إلى نموذج نهائي قوي (هذا هو النوع الأنجح والأكثر استخدامًا).
	</li>
</ol>

<p>
	أبرز الأمثلة على هذه الخوارزميات هي خوارزمية تعزيز التدرج الشديد XGBoost، وتعتبر من خوارزميات التعلم الآلي المستخدمة في مهام التصنيف أو الانحدار، وتندرج تحت مفهوم أساليب التعلم الجماعي التي تجمع بين العديد من النماذج الأضعف (غالبًا أشجار القرار) لإنشاء نموذج تنبؤي قوي.
</p>

<p>
	تعزيز التدرج هو مصطلح عام يشير إلى فئة من الخوارزميات حيث يركز كل نموذج لاحق في المجموعة على تصحيح الأخطاء التي ارتكبتها النماذج السابقة. إنه يعمل عن طريق إضافة نماذج جديدة باستمرار، مع تدريب كل نموذج جديد لتقليل الأخطاء التي ارتكبتها النماذج السابقة.
</p>

<h3>
	الخوارزميات التوليدية Generative
</h3>

<p>
	هي فئة من خوارزميات الذكاء الاصطناعي التي تهدف إلى إنشاء عينات بيانات جديدة تشبه مجموعة بيانات تدريب معينة. تتعلم هذه النماذج التوزيع الأساسي لبيانات التدريب وتستخدمها لتوليد عينات جديدة تظهر خصائص متشابهة. تُستخدم النماذج التوليدية على نطاق واسع في العديد من التطبيقات، بما في ذلك <a href="https://this-person-does-not-exist.com/en" rel="external nofollow">إنشاء الصور</a> وتوليد النصوص (مثل <a href="https://academy.hsoub.com/apps/web/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A8%D9%88%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D8%A7%D8%AF%D8%AB%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D9%8A-%D8%B4%D8%A7%D8%AA-%D8%AC%D9%8A-%D8%A8%D9%8A-%D8%AA%D9%8A-chatgpt-r863/" rel="">ChatGPT</a>) وتوليف البيانات. فيما يلي بعض الأنواع الشائعة من النماذج التوليدية:
</p>

<ol>
	<li>
		<p>
			<strong>شبكات الخصومة التوليدية GANs</strong>: تتكون شبكات GAN من مكونين رئيسيين: شبكة المولدات وشبكة التمييز. يهدف المولد إلى إنتاج عينات بيانات واقعيّة، بينما يحاول المميّز التمييز بين العينات الحقيقية والمولدة، ومن خلال عملية التدريب تتعلم شبكات GAN إنشاء عينات بيانات واقعية. أحد أمثلتها هو <a href="https://this-person-does-not-exist.com/en" rel="external nofollow">توليد صور أشخاص غير حقيقيين</a>.
		</p>
	</li>
	<li>
		<p>
			<strong>النماذج التوليدية لمعالجة اللغة الطبيعية</strong>: يمكن لنماذج مثل شبكات الخصومة التوليدية والشبكات العصبية المتكررة RNN ونماذج المحولات Transformers إنشاء نصوص بيانات واقعية (مثل ChatGPT). تحتوي النماذج التوليدية على مجموعة واسعة من التطبيقات، بما في ذلك تركيب الصور وزيادة حجم مجموعات البيانات وإنشاء النصوص واكتشاف الشذوذ. إنها ذات قيمة في السيناريوهات التي يكون الهدف فيها هو إنشاء عينات بيانات جديدة تلتقط خصائص بيانات التدريب وتوزيعها.
		</p>
	</li>
</ol>

<h3>
	خوارزميات التفاعل أو التعلم المعزز RL
</h3>

<p>
	خوارزميات التعلم المعزز هي فئة من خوارزميات الذكاء الاصطناعي التي تمكّن الوكيل Agents (يمكنك اعتباره الآلة) من تعلم كيفية اتخاذ القرارات أو اتخاذ الإجراءات في بيئة ما لزيادة المكافأة التراكمية. تتعلم خوارزميات RL من خلال التجربة والخطأ، حيث يتفاعل الوكيل مع البيئة ويتلقى تعليقات في شكل مكافآت أو عقوبات بناءًا على صحة الإجراء المُتخذ أو عدم صحته، ويقوم بتعديل سلوكه لتحقيق أعلى مكافأة ممكنة.
</p>

<p>
	هناك العديد من المكونات الرئيسية في خوارزميات RL. أولاً، هناك وكيل يتخذ إجراءات في البيئة. هدف الوكيل هو تعلم "سياسة Policy"، وهي رسم خرائط بين الحالات التي يمكن أن يمر بها الوكيل في البيئة والإجراءات التي يمكن أن يقوم بها عند كل حالة، والتي تزيد من المكافأة المتوقعة على المدى الطويل. البيئة هي النظام الخارجي الذي يتفاعل معه الوكيل، والتي تُقدّم ملاحظات للوكيل من خلال المكافآت. تستخدم خوارزميات RL عادةً دالة قيمة أو دالة Q لتقدير المكافأة التراكمية المتوقعة لزوج معين من إجراءات الحالة (مثلا إذا كنت في الحالة S5 واتخذت الإجراء A1 ستحصل على مكافأة 10+). تمثل دالة القيمة المكافأة طويلة الأجل التي يمكن أن يتوقعها الوكيل من كونه في حالة معينة واتباع سياسة معينة. تقدر دالة Q المكافأة التراكمية المتوقعة على وجه التحديد لأزواج (إجراء، حالة). تستخدم خوارزميات RL تقديرات القيمة هذه لتوجيه عملية اتخاذ القرار لدى الوكيل.
</p>

<p>
	هناك خوارزميات RL مختلفة مثل Q-Learning وتدرجات السياسة Policy gradients ..إلخ، ولكل منها نهجها الخاص في التعلم والتحسين. تم تطبيق خوارزميات التعلم المعزز بنجاح في مجالات مختلفة، مثل الروبوتات والأنظمة المستقلة ولعب الألعاب وأنظمة التحكم. إنها تمكن الوكلاء من التعلم من التجربة والتكيف مع البيئات المتغيرة واكتشاف الاستراتيجيات المثلى لحل المشكلات المعقدة.
</p>

<h2>
	تطبيق خوارزميات الذكاء الاصطناعي
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="135591" href="https://academy.hsoub.com/uploads/monthly_2023_09/--.png.eb2513a31176daf07f61f9e6985d384a.png" rel=""><img alt="خوارزميات الذكاء الاصطناعي" class="ipsImage ipsImage_thumbnailed" data-fileid="135591" data-ratio="62.50" data-unique="uv1u4myu4" style="width: 800px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_09/--.thumb.png.21d680a891f23d998582f5840c76db2e.png"></a>
</p>

<p>
	في الذكاء الصناعي عمومًا ومجال <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D9%85%D9%81%D8%A7%D9%87%D9%8A%D9%85-%D8%A7%D9%84%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A9-%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9-r1009/" rel="">تعلم الآلة</a> خصوصًا، يختلف نهج الخوارزمية عن الخوارزمية التقليدية. السبب هو أن الخطوة الأولى هي معالجة البيانات -وبعد ذلك، سيبدأ الحاسوب في التعلّم. أي عند الحديث عن الخوارزميات في سياق الذكاء الصناعي وتعلم الآلة نتحدث عن الإجراءات والعمليات التي تُطبّق على البيانات لاستكشاف وفهم الأنماط Patterns والعلاقات السائدة في البيانات والتعلّم منها، ويكون نتاج هذه الخوارزميات هو نماذج Models يمكن تطبيقها على أرض الواقع.
</p>

<p>
	<strong>ملاحظة 1:</strong> النموذج هو ناتج الخوارزمية، أي يمكن القول أن النموذج هو خوارزمية مُدرّبة جاهزة للاستخدام والتطبيق الفعلي. تجدر الإشارة إلى أنهما مصطلحان يُستخدمان غالبًا بالتبادل (لافرق في أن تقول نموذج أو خوارزمية)، لكن وجب التنويه للفرق بينهما.
</p>

<p>
	<strong>ملاحظة 2:</strong> النمط هو شكل معيّن تتكرر فيه المعلومات، وهي صفات وخصائص تُميّز الأشياء، وهو مصطلح أساسي في تعلّم الآلة. مثلًا: كل التفاحات لها شكل شبه كروي (نمط)، العرب ينطقون لغة خاصة هي اللغة العربية (نمط)، يمكن تمييز الطبيب في المستشفى من لباسه (نمط).
</p>

<p>
	من السهل بناء وتطبيق بعض الخوارزميات، إلا أن بعضها الآخر يتطلّب خطوات برمجية ورياضيات معقدة. الخبر السار هو أنه لا يتعين عليك في معظم الأوقات أن تبني هذه الخوارزميات من الصفر، لأن هناك مجموعة متنوعة من اللغات البرمجية مثل Python و R والعديد من أطر العمل كتنسرفلو Tensorflow وكيراس Keras وباي تورش Pytorch وسكايت ليرن Sklearn التي تجعل العملية سهلة ومباشرة.
</p>

<p>
	هناك المئات من خوارزميات تعلم الآلة المتاحة، إلا أنّه يمكن تقسيمها فعليًا إلى أربع فئات رئيسية: التعلم الخاضع للإشراف supervised learning، والتعلم غير الخاضع للإشراف unsupervised learning، والتعلم المعزز reinforcement learning، والتعلم شبه الخاضع للإشراف semi-supervised learning، وقد ألقينا نظرة عن هذه الأنواع في مقالة <a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/" rel="">تعلم الآلة</a>.
</p>

<h3>
	خطوات تدريب خوارزميات الذكاء الاصطناعي
</h3>

<p>
	إن الهدف من عملية تدريب الخوارزمية هو إنشاء نموذج يعتمد على تلك الخوارزمية لإعطاء قرارات في أرض الواقع. بالتالي لتحقيق النجاح في تطبيق خوارزميات الذكاء الصناعي على مشكلة ما، من المهم اتباع نهج منظّم، وإلا قد تكون النتائج بعيدة عن المتوقع. إذًا يجب أن نختار خوارزمية مناسبة وأن ندربها بأفضل شكل ممكن لكي نحصل على قرارات مثالية قدر الإمكان.
</p>

<p>
	بدايةً تحتاج إلى إجراء عمليات معالجة البيانات، ثم من الجيد (إن أمكن) إجراء تمثيل مرئي لهذه البيانات، حيث يفيدنا التمثيل المرئي في الإجابة على أسئلة مثل: هل هناك بعض الأنماط؟ إذا كانت الإجابة بنعم، فقد تكون البيانات سهلة التعلّم وواضحة للخوارزمية.
</p>

<ul>
	<li>
		<strong>الخطوة 1: تحديد المشكلة وجمع البيانات:</strong> بدايةً يجب أن تحدد المشكلة التي تعمل عليها، وهذا يتضمن الإجابة على أسئلة مثل: ماذا ستكون البيانات التي تعطيها للخوارزمية (أي ما هو الدخل)؟ ما هي المشكلة التي تحاول حلها (أي ماهو الخرج)؟ لا يمكنك الانتقال إلى المرحلة التالية حتى تعرف ما هي المدخلات والمخرجات، والبيانات التي ستستخدمها. تتضمن هذه المرحلة أيضًا فحص البيانات التي تم جمعها وتنظيفها وإصلاح أية مشاكل فيها.
	</li>
	<li>
		<strong>الخطوة 2: اختيار الخوارزمية المناسبة:</strong> تحتاج الآن إلى تحديد خوارزمية مناسبة لحل هذه المشكلة، وسيكون الأمر أشبه بالتخمين المستنير، أي يجب أن تستفيد من النظريات وتجارب الآخرين، وهذا سيتضمن عملية تجربة وخطأ (قد تجرب عدة خورازميات).
	</li>
	<li>
		<strong>الخطوة 3: تحضير البيانات للتدريب:</strong> بمجرد أن تعرف ما الذي تريد أن تُدرّب الخوارزمية عليه، تكون جاهزًا تقريبًا لبدء نماذج التدريب. إن تحضير البيانات يعني تنسيقها بطريقة يمكن إدخالها في خوارزمية التعلّم.
	</li>
	<li>
		<strong>الخطوة 4: تدريب النموذج:</strong> سيتم استخدام حوالي 70% من البيانات المتاحة من أجل تدريب الخوارزمية وإنتاج النموذج. افترض أنك تبني نظامًا للتعلم الآلي للتنبؤ بقيمة السيارة المستعملة. ستشمل البيانات عوامل مثل: سنة التصنيع والطراز والمسافة المقطوعة والحالة. من خلال معالجة بيانات التدريب هذه، ستحسب الخوارزمية أوزان كل من هذه العوامل (وزن تأثيرها في قيمة السيارة) لتعطي نموذجًا يتوقع القيمة بناءًا على هذه العوامل.
	</li>
	<li>
		<strong>الخطوة 5: تقييم أداء النموذج:</strong> سيتم استخدام حوالي 30% من البيانات المتاحة من أجل تقييم أداء النموذج. في هذه المرحلة يمكنك معرفة ما إذا كان النموذج دقيقًا في قراراته. في مثالنا على السيارات المستعملة، سيكون السؤال: هل تتوافق توقعات النموذج مع قيم السوق في أرض الواقع؟
	</li>
	<li>
		<strong>الخطوة 6: تحسين أداء النموذج:</strong> من خلال إضافة بيانات جديدة أو التلاعب بالخوارزمية ومعاملاتها أو حتى تغيير الخورازمية.
	</li>
</ul>

<p>
	في القسم التالي سنتحدث عن أنواع خوارزميات الذكاء الاصطناعي. هذه الأنواع تتضمن خوارزميات مختلفة وكلها تندرج تحت الفئات الرئيسية الأربعة سالفة الذكر.
</p>

<h2>
	خوارزميات الذكاء الاصطناعي والمجتمع
</h2>

<p>
	تسلط هذه الفقرة الضوء على الأهمية المتزايدة للاعتبارات الأخلاقية والتفسير والإنصاف في خوارزميات الذكاء الصناعي، حيث يستمر تأثير الذكاء الاصطناعي على المجتمع في التوسع. دعونا نتعمق في كل جانب!
</p>

<h3>
	الاعتبارات الأخلاقية
</h3>

<p>
	تشمل الاعتبارات الأخلاقية في الذكاء الصناعي معالجة الآثار الأخلاقية والتأثير المجتمعي المحتمل لأنظمة الذكاء الصناعي. نظرًا لأن خوارزميات الذكاء الاصطناعي أصبحت أكثر تكاملًا في جوانب مختلفة من حياتنا، فمن المهم ضمان تطويرها ونشرها بطريقة أخلاقية. يتضمن ذلك اعتبارات مثل حماية الخصوصية وأمن البيانات والتحيّز الخوارزمي والشفافية والمساءلة. تظهر المخاوف الأخلاقية عندما تتخذ خوارزميات الذكاء الصناعي قرارات قد يكون لها عواقب وخيمة على الأفراد أو المجموعات، ومن المهم وضع مبادئ توجيهية وأطر لتقليل الضرر المحتمل وضمان ممارسات الذكاء الاصطناعي الأخلاقية.
</p>

<h3>
	قابلية التفسير
</h3>

<p>
	يشير التفسير إلى القدرة على فهم وشرح القرارات أو التنبؤات التي تتخذها خوارزميات الذكاء الصناعي. نظرًا لأن الذكاء الصناعي يصبح أكثر تعقيدًا مع خوارزميات مثل شبكات التعلم العميق، يصبح تفسير النتائج التي تعطيها أصعب. من الضروري تطوير أساليب وتقنيات تمكّن البشر من فهم الأسباب الكامنة وراء قرارات خوارزميات الذكاء الاصطناعي من أجل الثقة بها. يساعد التفسير في تحديد التحيزات المحتملة وضمان المساءلة وبناء ثقة المستخدم. بالإضافة إلى ذلك تسمح القابلية للتفسير لخبراء المجال بالتحقق من صحة نماذج الذكاء الاصطناعي وتحسينها، مما يجعلها أكثر موثوقية وفعالية.
</p>

<h3>
	الإنصاف
</h3>

<p>
	يشير الإنصاف في خوارزميات الذكاء الصناعي إلى المعاملة غير المنحازة للأفراد أو المجموعات، بغض النظر عن سماتهم الشخصية مثل الجنس أو العرق أو الحالة الاجتماعية والاقتصادية. يمكن أن يظهر التحيّز عن غير قصد في أنظمة الذكاء الاصطناعي بسبب بيانات التدريب المتحيزة أو الافتراضات الأساسية.
</p>

<p>
	يعد تعزيز العدالة في خوارزميات الذكاء الاصطناعي أمرًا بالغ الأهمية لتجنب استمرار عدم المساواة الاجتماعية وضمان تكافؤ الفرص للجميع. تنبع الأهمية المتزايدة لهذه الجوانب من الاعتراف بأن أنظمة الذكاء الاصطناعي لديها القدرة على التأثير بشكل كبير على الأفراد والمجتمعات والمجتمعات ككل.
</p>

<p>
	تتم معالجة هذه الاعتبارات بنشاط من قبل الباحثين وصانعي السياسات والمتخصصين في الصناعة لوضع مبادئ توجيهية أخلاقية وتطوير مقاييس الإنصاف وتعزيز الشفافية في خوارزميات الذكاء الاصطناعي. من خلال دمج هذه الاعتبارات في عمليات التطوير والنشر، يمكننا أن نسعى جاهدين من أجل بناء بيئة للذكاء الاصطناعي أكثر أخلاقية وشمولية، ليعود بالنفع على المجتمع ككل.
</p>

<h2>
	خاتمة
</h2>

<p>
	خوارزميات الذكاء الاصطناعي مجال واسع يتكون من خوارزميات التعلم الآلي وخوارزميات التعلم العميق وغيرها من الخورازميات. تمنح خوارزميات الذكاء الصناعي الآلات القدرة على اتخاذ القرارات والتعرّف على الأنماط واستخلاص استنتاجات مفيدة والتي تعني أساسًا تقليد الذكاء البشري. في المقالة السابقة ناقشنا تطوّر هذه الخوارزميات منذ ولادة هذا المجال وكيفية تصنيف هذه الخوارزميات إلى 6 فئات. هي: الانحدار والتصنيف والعنقدة والتجميع والتوليد والتفاعل. تعرّفنا على كيفية تطبيق هذه الخوارزميات والخطوات العامة لذلك. لضمان النشر المسؤول والمفيد للذكاء الاصطناعي، تحدثنا عن ضرورة مراعاة الآثار الأخلاقية وضمان القابلية للتفسير من أجل الشفافية والمساءلة والسعي لتحقيق العدالة لتجنب التمييز والتحيز.
</p>

<p>
	إن تطوّر خوارزميات الذكاء الصناعي مثير للاهتمام ومحفّز للتفكير. لقد كان لها نصيب من الإخفاقات والاختراقات الهائلة. مع تطبيقات مثل ChatGPT و Dalle.E وغيرهما، نكون قد خدشنا سطح التطبيقات الممكنة للذكاء الصناعي. هناك تحديات أيضًا، وهناك بالتأكيد المزيد في المستقبل.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">أنواع الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%85%D8%B1%D8%A7%D8%AD%D9%84-%D8%A7%D9%84%D8%A8%D8%AF%D8%A1-%D9%88%D8%A7%D9%84%D8%AA%D8%B7%D9%88%D8%B1-%D9%88%D8%A7%D9%84%D8%A3%D8%B3%D8%B3-%D8%A7%D9%84%D8%AA%D9%8A-%D9%86%D8%B4%D8%A3-%D8%B9%D9%84%D9%8A%D9%87%D8%A7-r988/" rel="">الذكاء الاصطناعي: مراحل البدء والتطور والأسس التي نشأ عليها</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A/" rel="">تطبيقات الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/artificial-intelligence/%D8%A3%D9%87%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-r2243/" rel="">أهمية الذكاء الاصطناعي</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/advanced/%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A7%D8%AA/" rel="">المرجع الشامل إلى تعلم الخوارزميات للمبتدئين</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">2133</guid><pubDate>Sat, 30 Sep 2023 13:03:00 +0000</pubDate></item></channel></rss>
