يُعتبر “TensorFlow” الجيل الثاني من نظام تَعلم الآلة لجوجل، فهو مكتبة برمجيات مفتوحة المصدر للتعَلم الآلي، حيث يُستخدم في العديد من المنتجات التجارية لشركة جوجل؛ لتميزه بالمرونة، وسهولة الاستخدام والتطبيق، والسرعة، بالإضافة إلى أهم ما يميزه وهو كونه مفتوح المصدر للجميع.
لذلك “TensorFlow” لديه قدرة عالية جدًا على البحث والرد الذكي، وتستخدمه جوجل في خدماتها المختلفة، بل الآن أصبح يُستخدم في منتجات حقيقية؛ وذلك لأنّ النظام بُني على أساس الاستعداد الكامل لخدمة الإنتاج، لسرعته والقدرة على استخدامه،
فقد بُني على مصدر مفتوح يتيح وصول أي شخص للكود المصدري وتعديله، حيث يقوم النظام بتمرير البيانات المعقدة من خلال الشبكة العصبية أو الدماغ الاصطناعي، والتي تعتبر جزءًا أساسيًّا في التعليم العميق.
“ولكن أهم ما يميز “TensorFlow” بالنسبة للمبرمج هو سهولة التعبير عن أفكاره من خلاله باستخدام لغة الـ Python”
وبما أنّ لغة الـ “python” يتم تعريفها تحت مُسمى “A general purpose, high-level language”
وبما أنّ لغة الـ “python” يتم تعريفها تحت مُسمى “A general purpose, high-level language”
لأنّها لغة البرمجة التي تشمل برمجة كل شيء مثل: الألعاب، المواقع، قواعد البيانات، برمجة الآلات، وأيضًا برمجة تطبيقات الموبايل.
بالإضافة إلى أنّها “An interpreted language”
لأنّ أي لغة برمجة “high-level”، تقم بكتابتها الحاسوب لا يفهمها مباشرةً، لذلك لابد أن يتم تحويلها إلى ما يُسمى بلغة الآلة “machine language” حتى يفهمها الحاسوب ويقوم بالتعامل معها،
لأنّ أي لغة برمجة “high-level”، تقم بكتابتها الحاسوب لا يفهمها مباشرةً، لذلك لابد أن يتم تحويلها إلى ما يُسمى بلغة الآلة “machine language” حتى يفهمها الحاسوب ويقوم بالتعامل معها،
ولغة الآلة عبارة عن “0/1” وبالتالي فأنت تحتاج لوسيط يقوم بتحويل لغة البرمجة التي قُمت بكتابتها لـ لغة الآلة، في حالة لغات برمجة مثل (++)C ,C هذا الوسيط يُسمى “compiler”، وهو ما يحتاج إلي برامج أخرى تقم بتنزيلها من أجل تشغيل الكود.
ولكن في حالة لغة الـ”Python” يُسمى هذا الوسيط “interpreted”، والذي يعطيك ميزة التسهيل فكل ما تحتاج إليه تنزيل ما يعرف باسم “IDE”، لتَكتب كود البرنامج وتضغط “run” من أجل تشغيل الكود،
وهذه النقطة تُعطي البايثون ميزة قوية جدًا وهي أنّها “cross platform”، حيث أنّها تقبل تشغيل الكود على أي نظام تشغيل (win/mac/linux).
“ولكن لكي نتمكن من استخدام “TensorFlow” مع لغة البرمجة “python” من أجل برمجة الذكاء الاصطناعي، لابد أن نتعرف على ما هو الـ “Tensor”، وما علاقته بعلم الرياضيات؟ وكيف من خلاله يمكن الوصول إلى خوارزميات تساعد الآلة على التنبؤ؟”
الـ Tensor في الرياضيات، هو إحدى الدالات الرياضية بجانب الأعداد أو الكميات المطلقة “generalized quantity”، التي لا تتميز بوحدات للقياس، يتميز بأنّه يحتوي في خواصه خواص الأعداد المطلقة،
يمكننا أن نَكتب الـ Tensor بدلالة الإحداثيات، أو المصفوفات، حيث يمكننا من خلاله تكوين مصفوفة، هذه المصفوفة بكل تأكيد تتكون من متغيرات أو إحداثيات لجسم معين على سبيل المثال، لنحصل في النهاية على مُتجه “Vector” قيمة مطلقة،
ستصل إلى هذه المتغيرات إذا قُمت بترجمة مشاكل تعلم الآلة إلى دوال “Functions”، وهذه الدوال تتكون من مجموعة متغيرات؛ لأنّ الدالة عبارة عن صيغة رياضية لها وظيفة معينة تستقبل بيانات معينة، وتعطي نتائج معينة.
وبناءً على هذه البيانات ستقوم خوارزميات الآلة “ML algorithm” باستخراج شيئًا مثيرًا للاهتمام، دون الحاجة لكتابة أي كود معين، فبدلًا من كتابة التعليمات والأكواد البرمجية، يُمكنك تغذية الخوارزميات بالبيانات و هي ستقوم تلقائيًا بصياغة الخرج استنادًا إلى البيانات نفسها.
حيث أنّ التعلم
حيث أنّ التعلم
دعنا نضرب مثال على ذلك، كيف يمكن للآلة أن تتعرف على ما يظهر أمامها؟
على سبيل المثال ظهر أمامها قط، فكيف يُمكنها أن تتعرف عليه وتميزه؟ الواقع يقول أنّ الآلة ترى القط في صورة مجموعة بكسلات “Pixels” متراصة بجوار بعضها البعض، تقوم الآلة بفرض أن كل بيكسل عبارة Tensor لتُكَون مجموعة
على سبيل المثال ظهر أمامها قط، فكيف يُمكنها أن تتعرف عليه وتميزه؟ الواقع يقول أنّ الآلة ترى القط في صورة مجموعة بكسلات “Pixels” متراصة بجوار بعضها البعض، تقوم الآلة بفرض أن كل بيكسل عبارة Tensor لتُكَون مجموعة
import tensorflow as tf
b = tf.Variable(tf.zeros([100])) # 100-d vector, init to zeroes
W = tf.Variable(tf.random_uniform([784,100],-1,1)) # 784×100 matrix w/rnd vals
x = tf.placeholder(name=”x”) # Placeholder for input
b = tf.Variable(tf.zeros([100])) # 100-d vector, init to zeroes
W = tf.Variable(tf.random_uniform([784,100],-1,1)) # 784×100 matrix w/rnd vals
x = tf.placeholder(name=”x”) # Placeholder for input
relu = tf.nn.relu(tf.matmul(W, x) + b) # Relu(Wx+b)
C = […] # Cost computed as a function
# of Relu
s = tf.Session()
for step in xrange(0, 10):
C = […] # Cost computed as a function
# of Relu
s = tf.Session()
for step in xrange(0, 10):
إنتهى درس اليوم🙏.
جاري تحميل الاقتراحات...