شعار زيفيرنت

نقل التعلم للتعرف على الصور ومعالجة اللغة الطبيعية

التاريخ:

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

إذا لم تسنح لك الفرصة ولم يكن لديك فهم جيد لـ Transfer Learning ، فقم بإعطائها قراءة ستساعدك على فهم هذه المقالة بشكل أفضل. 

التعرف على الصور

 
لذلك دعنا أولاً نتعرف على ماهية التعرف على الصور. التعرف على الصور هو المهمة المخصصة لتكنولوجيا الكمبيوتر لتتمكن من اكتشاف وتحليل كائن أو ميزة في صورة أو مقطع فيديو. إنها المنطقة الرئيسية التي تعمل فيها الشبكات العصبية العميقة بسحرها لأنها مصممة للتعرف على الأنماط. 

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

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

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

فأين يمكنك العثور على نماذج صور مدربة مسبقًا؟

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

مثال على تطبيق Keras هو بنية Xception ، التي تحدثت عنها بإيجاز إلى أبعد من ذلك. هذه هي الطريقة التي يمكنك بها تهيئة Xception على ImageNet.

tf.keras.applications.Xception (include_top = True، weights = "imagenet"، input_tensor = None، input_shape = None، pooling = None، classes = 1000، classifier_activation = "softmax"،)

بينما نتحدث عن Keras ، دعونا لا ننسى TensorFlow Hub. TensorFlow هي مكتبة مفتوحة المصدر طورتها Google ، وهي تدعم التعلم الآلي والتعلم العميق. يحتوي TensorFlow Hub على مجموعة متنوعة من النماذج المدربة مسبقًا والجاهزة للنشر مثل تصنيف الصور والنصوص والفيديو والصوت. 

يعد النموذج المتسلسل جيدًا للاستخدام في كومة من الطبقات العادية ، وهذا يستلزم عندما تحتوي كل طبقة على مدخل واحد وموتر إخراج واحد. 

مثال 1:

model = tf.keras.Sequential ([embed، tf.keras.layers.Dense (16، activation = "relu")، tf.keras.layers.Dense (1، activation = "sigmoid")،])

مثال 2:

m = tf.keras.Sequential ([hub.KerasLayer ("https://tfhub.dev/google/imagenet/inception_v1/classification/5")]) m.build ([بلا ، 224 ، 224 ، 3]) # شكل إدخال دفعة.

ضمن التعلم العميق ، يمكن لبعض الاستراتيجيات أن تسمح للفرد بالحصول على أقصى فائدة من النماذج المدربة مسبقًا. 
 
 

ميزة استخراج

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

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

بشكل عام ، تكمن الفكرة في الاستفادة من النموذج المدرب مسبقًا باستخدام استخراج الميزات لتحديد الميزات المفيدة لحل مهمتك ، لكنك لن تستخدم مخرجات الشبكة لأنها خاصة بمهمة محددة. سيتعين عليك بعد ذلك إنشاء الجزء الأخير من النموذج ليكون محددًا لمهمتك. 

الكون المثالى

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

يعد الضبط الدقيق أمرًا حيويًا إذا كنت تريد أن تكون قادرًا على الحصول على تمثيل فعال للميزات من النموذج الأساسي ، وبالتالي تكون أكثر تلبية لمهمتك الحالية. 

مثال: كيفية استخدام نموذج صورة مدرب مسبقًا في Keras

 
لنلق نظرة الآن على مثال. نظرًا لأننا نتحدث كثيرًا عن القطط والكلاب ، فلنقم بمثال التعرف على الصور عليها. 

قم بتحميل البيانات

 
لذلك دعونا نتأكد أولاً من استيراد المكتبات التي نحتاجها وتحميل البيانات.

استيراد numpy كـ np استيراد tensorflow مثل tf من tensorflow استيراد keras استيراد tensorflow_datasets مثل tfds

من الجيد دائمًا طباعة حجم عينتك من أجل التدريب والاختبار لفهم مقدار البيانات التي تعمل بها والتعرف على الصور ، حتى تتمكن من إلقاء نظرة على البيانات التي تعمل بها. 

نقل التعلم للتعرف على الصور ومعالجة اللغة الطبيعية


 

نظرًا لاختلاف أحجام الصور ، يعد توحيد حجم الصورة الثابتة طريقة جيدة ، حيث إنها مدخلات جيدة ومتسقة للشبكة العصبية. 

معالجة البيانات مسبقا

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

من keras استيراد tensorflow من tensorflow.keras استيراد الطبقات data_augmentation = keras.Sequential ([layer.RandomFlip ("الأفقي") ، layer.RandomRotation (0.1) ،])

إنشاء نموذج أساسي من العمارة المختارة (Xception)

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

base_model = keras.applications.Xception (weights = "imagenet"، # أوزان مدربة مسبقًا على ImageNet. input_shape = (150، 150، 3)، include_top = False،) base_model.trainable = False

تدريب الطبقة العليا

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

# إنشاء نموذج جديد في أعلى المدخلات = keras.Input (الشكل = (150 ، 150 ، 3)) x = data_augmentation (المدخلات) # تطبيق زيادة البيانات العشوائية


 

نقل التعلم للتعرف على الصور ومعالجة اللغة الطبيعية


 

الكون المثالى

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

base_model.trainable = صحيح

حان الوقت الآن لتجميع النموذج مرة أخرى.

model.compile (Optimizer = keras.optimizers.Adam (1e-5)، # انخفاض معدل فقدان التعلم = keras.losses.BinaryCrossentropy (from_logits = True)، metrics = [keras.metrics.BinaryAccuracy ()]،) العهود = 10 model.fit (train_ds، epochs = epochs، validation_data = validation_ds)

نقل التعلم للتعرف على الصور ومعالجة اللغة الطبيعية


 

إذا كنت ترغب في الحصول على رجل آخر ، يمكنك القيام بذلك عن طريق النقر فوق هنا لعرض دفتر Colab. 
 
 

معالجة اللغات الطبيعية

 
لقد تحدثنا كثيرًا عن تصنيف الصور ، فلنلقِ نظرة الآن على معالجة اللغة الطبيعية (NLP). إذن ما هو البرمجة اللغوية العصبية؟ البرمجة اللغوية العصبية هي قدرة الكمبيوتر على اكتشاف وفهم اللغة البشرية ، من خلال الكلام والنص كما يمكننا نحن البشر. 

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

من أمثلة البرمجة اللغوية العصبية (NLP) التعرف على الكلام وتحليل المشاعر. حالات استخدام البرمجة اللغوية العصبية هي أشياء مثل اكتشاف البريد العشوائي. أعلم ، ربما لم تفكر مطلقًا في تنفيذ البرمجة اللغوية العصبية في اكتشاف البريد العشوائي ، ولكنه كذلك. تصنيف نصوص البرمجة اللغوية العصبية (NLP) لديه القدرة على فحص رسائل البريد الإلكتروني واكتشاف اللغة التي تشير إلى أنه قد يكون بريدًا عشوائيًا أو تصيدًا احتياليًا. يقوم بذلك عن طريق تحليل الإفراط في استخدام القواعد السيئة والتهديدات والإفراط في استخدام المصطلحات المالية وغير ذلك. 

إذًا ، كيف يعمل برنامج Transfer Learning في البرمجة اللغوية العصبية (NLP)؟ حسنًا ، إنه يعمل بشكل أساسي مع التعرف على الصور. يمكن أن يكون تدريب نموذج اللغة الطبيعية باهظ الثمن ، فهو يتطلب الكثير من البيانات ويستغرق الكثير من وقت التدريب على الأجهزة الفاخرة. لكن الخبر السار هو أنه ، تمامًا مثل التعرف على الصور ، يمكنك تنزيل هذه النماذج المدربة مسبقًا مجانًا إلى جانب ضبطها للعمل على مجموعة البيانات المحددة الخاصة بك.

تسأل أين يمكنك أن تجد هذه النماذج المدربة مسبقًا؟ 

 
لا تقدم Keras نماذج مدربة مسبقًا للتعرف على الصور فحسب ، بل توفر أيضًا بنيات لمعالجة اللغات الطبيعية. يمكن أن يكون لديك رجل هنا

تعانق الوجه

 
دعونا ننظر في تعانق الوجه. HuggingFace هو مزود مفتوح المصدر لمعالجة اللغة الطبيعية (NLP) قام بعمل رائع لجعله سهل الاستخدام. 

مكتبة Transformers الخاصة بهم عبارة عن مكتبة قائمة على Python توفر بنيات مثل BERT ، والتي تؤدي مهام البرمجة اللغوية العصبية مثل تصنيف النص والإجابة على الأسئلة. كل ما عليك فعله هو تحميل نماذجهم المدربة مسبقًا ببضعة سطور من التعليمات البرمجية وأنت على استعداد لبدء التجربة. لبدء استخدام Transformers ، ستحتاج إلى تثبيته.

يوجد أدناه مثال على استخدام تحليل المشاعر ، وهو القدرة على تحديد رأي يتم التعبير عنه في جزء من النص.

! محولات تثبيت الأنابيب من المحولات ، مُصنف خط أنابيب الاستيراد = مُصنف خط الأنابيب ("تحليل المشاعر") ("أجد أن المقالة حول تعلم النقل مفيدة جدًا.")

الإخراج:

[{'label': 'POSITIVE'، 'النتيجة': 0.9968850016593933}]

يعد تحسين النموذج الذي تم تدريبه مسبقًا مع الضبط خيارًا مع HuggingFace ، باستخدام Trainer API. منح المحولات فئة المدرب التي تساعد في ضبط نموذجك المدرَّب مسبقًا. تأتي هذه الخطوة بعد معالجة بياناتك وتتطلب منك استيراد TrainingArguments

من محولات الاستيراد TrainingArguments

لمعرفة المزيد عن HuggingFace ، يمكنك متابعة هذا الصفحة

كلمة التضمين

 
ماذا عن تضمين الكلمات؟ ما هذا؟ إن تضمين الكلمات هو تمثيل تكون فيه الكلمات المتشابهة لها ترميز مشابه. يمكن أن يكون قادرًا على اكتشاف كلمة في مستند وربط علاقتها بكلمات أخرى. 

مثال على ذلك هو Word2Vec ، وهو عبارة عن شبكة عصبية من طبقتين تعالج النصوص عن طريق الترميز المتجه. 

استخدم Word2Vec طريقتين لتعلم تمثيل الكلمات:

  1. حقيبة الكلمات المستمرة - هي بنية نموذجية تحاول التنبؤ بالكلمة المستهدفة (الكلمة الوسطى) بناءً على الكلمات المصدر (الكلمات المجاورة). ترتيب الكلمات في السياق ليس مهمًا بالضرورة ، والسبب في تسمية العمارة بـ "حقيبة الكلمات"
  2. التخطي المستمر للجرام - هو نموذج معماري في الأساس على عكس حقيبة الكلمات. يحاول التنبؤ بالكلمات المصدر (الكلمات المجاورة) بإعطاء الكلمة المستهدفة (الكلمة الوسطى)

استخراج الميزة هو إستراتيجية مستخدمة في Word Embedding ، حيث يكتشف ويصدر تمثيلات الميزات المفيدة لنوع مهمة NLP التي تحاول العمل عليها. في استخراج الميزات ، يتم استخراج الأجزاء (الجمل أو الكلمات) إلى مصفوفة تحتوي على تمثيل لكل كلمة من كل كلمة. لا تتغير الأوزان ويتم استخدام الطبقة العليا فقط من النموذج. 

ومع ذلك ، فإن الضبط الدقيق يعدل أوزان النموذج المدرب مسبقًا ، مما قد يكون ضارًا لأن الطريقة يمكن أن تسبب خسارة في الكلمات في مرحلة الضبط ، نظرًا لتغيير الأوزان وما تم تعلمه سابقًا ، لم يعد موجودًا في الذاكرة . يُعرف هذا باسم "التدخل الكارثي". 

مثال: كيفية استخدام نموذج البرمجة اللغوية العصبية المدربة مسبقًا في Keras

 
كنا نتحدث للتو عن Word Embedding ، لذلك دعونا نلقي نظرة على مثال. لتلخيص معنى Word Embedding سريعًا: إنه تمثيل تحتوي كلمات متشابهة فيه على ترميز مشابه. يمكن أن يكون قادرًا على اكتشاف كلمة في مستند وربط علاقتها بكلمات أخرى. لذلك دعونا نرى كيف يعمل هذا بعد ذلك.

قم بتحميل البيانات

 
في هذا المثال ، سنلقي نظرة على مراجعات الأفلام. إذا كنت تتذكر المثال الذي فعلناه أعلاه ، باستخدام تحليل المشاعر ، فقد أنتجنا مخرجات تحدد مدى إيجابية ذلك. مع مراجعات الأفلام هذه ، لدينا إيجابية وسلبية ، لذلك هذا تصنيف ثنائي. 

url = "https://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz" dataset = tf.keras.utils.get_file ("aclImdb_v1.tar.gz"، url، untar = True، cache_dir = '.'، cache_subdir = '') dataset_dir = os.path.join (os.path.dirname (dataset)، 'aclImdb') os.listdir (dataset_dir)

يمكنك أن ترى التمييز في الصورة أدناه ، 0 سلبية و 1 إيجابية.

نقل التعلم للتعرف على الصور ومعالجة اللغة الطبيعية


 

انتقلت بعد ذلك إلى استخدام Embedding Layer من Keras ، لتحويل الأعداد الصحيحة الموجبة إلى متجهات كثيفة ذات أحجام ثابتة. يتم تهيئة أوزان التضمين بشكل عشوائي ويتم تعديلها أثناء الانتشار العكسي. بمجرد أن يتم تعلم المعرفة ، ستعمل كلمة "حفلات الزفاف" على ترميز أوجه التشابه بين الكلمات التي تعلموها والكلمات التي تعلموها من قبل.

# قم بتضمين مفردات 1,000 كلمة في 5 أبعاد. embedding_layer = tf.keras.layers.Embedding (1000، 5)

المعالجة المسبقة للنص

 
أثناء مرحلة المعالجة المسبقة للنص ، سنقوم بتهيئة طبقة TextVectorization مع المعلمات المطلوبة لتوجيه مراجعات الفيلم. ستساعد طبقة تحويل النص في تقسيم السلاسل وتعيينها من مراجعات الفيلم إلى أعداد صحيحة. 

# طبقة توجيه النص لتقسيمها ، وتعيين السلاسل إلى أعداد صحيحة. vectorize_layer = TextVectorization (التوحيد القياسي = custom_standardization ، max_tokens = vocab_size ، output_mode = 'int' ، output_sequence_length = Sequence_length)

قم بإنشاء نموذج

 
سيتم تنفيذ vectorize_layer من المعالجة المسبقة أعلاه كطبقة أولى في النموذج ، حيث حولت السلاسل إلى مؤشرات مفردات. سيغذي السلاسل المحولة في طبقة التضمين. 

تقوم طبقة التضمين بعد ذلك بأخذ فهارس المفردات هذه ومسحها ضوئيًا من خلال المتجه لكل فهرس كلمة ، حيث يتعلمون مثل القطارات النموذجية. 

model = متسلسل ([vectorize_layer، Embedding (vocab_size، embedding_dim، name = "embedding")، GlobalAveragePooling1D ()، Dense (16، Activation = 'relu')، Dense (1)])

في هذا المثال ، سوف نستخدم TensorBoard، وهي أداة لتوفير العروض المرئية التي توضح سير عمل التعلم الآلي ، على سبيل المثال الفقد والدقة. 

تجميع النموذج

 
سنقوم بتجميع النموذج باستخدام مُحسِّن آدم وخسارة BinaryCrossentropy.

model.compile (Optizer = 'adam'، loss = tf.keras.losses.BinaryCrossentropy (from_logits = True)، metrics = ['دقة'])

نقل التعلم للتعرف على الصور ومعالجة اللغة الطبيعية


 

لقد ذكرت TensorBoard ، التي تصور مقاييس النماذج ويمكنك رؤية ذلك أدناه.

نقل التعلم للتعرف على الصور ومعالجة اللغة الطبيعية


 

لقد رأيت كيفية تدريب واختبار نموذج البرمجة اللغوية العصبية باستخدام نموذج تضمين كلمة مدرب مسبقًا. إذا كنت ترغب في إلقاء نظرة إضافية على دفتر Colab ، فيمكنك القيام بذلك هنا. 
 
 

ما هي أفضل الممارسات في نقل التعلم؟

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

آمل أن يكون هذا المقال قد أعطاك فهمًا أفضل لكيفية تنفيذ نقل التعلم من خلال أنواع التعلم الآلي. جربه بنفسك!

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

المصدر: https://www.kdnuggets.com/2022/01/transfer-learning-image-recognition-natural-language-processing.html

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة