TensorFlow Lattice هي مكتبة تنفذ نماذج شبكية مرنة ويمكن التحكم فيها وقابلة للتفسير. تمكنك المكتبة من إدخال معرفة المجال في عملية التعلم من خلال قيود الشكل المنطقية أو القائمة على السياسة. يتم ذلك باستخدام مجموعة من طبقات Keras التي يمكنها تلبية قيود مثل الرتابة والتحدب والثقة الزوجية. توفر المكتبة أيضًا نماذج سهلة الإعداد.
المفاهيم
هذا القسم هو نسخة مبسطة من الوصف الوارد في جداول البحث الرتيبة المعايرة المحرفة ، JMLR 2016.
المشابك
الشبكة عبارة عن جدول بحث محرف يمكنه تقريب العلاقات العشوائية بين المدخلات والمخرجات في بياناتك. فهو يتداخل مع شبكة عادية في مساحة الإدخال الخاصة بك ويتعلم قيم الإخراج في رؤوس الشبكة. لنقطة الاختبار \(x\), \(f(x)\) يتم تحريفه خطيًا من قيم الشبكة المحيطة \(x\).
المثال البسيط أعلاه هو دالة تحتوي على ميزتين إدخال و4 معلمات:\(\theta=[0, 0.2, 0.4, 1]\)، وهي قيم الوظيفة في زوايا مساحة الإدخال؛ يتم استيفاء بقية الوظيفة من هذه المعلمات.
الوظيفة \(f(x)\) يمكن التقاط التفاعلات غير الخطية بين الميزات. يمكنك التفكير في معلمات الشبكة على أنها ارتفاع الأعمدة المثبتة في الأرض على شبكة عادية، والوظيفة الناتجة تشبه قطعة قماش مشدودة بإحكام على الأعمدة الأربعة.
مع \(D\) ميزات وقممين على طول كل بعد، سيكون هناك شبكة منتظمة \(2^D\) حدود. لملاءمة وظيفة أكثر مرونة، يمكنك تحديد شبكة أكثر دقة على مساحة الميزة مع المزيد من القمم على طول كل بُعد. وظائف الانحدار الشبكية مستمرة وقابلة للتمييز بشكل لا نهائي.
معايرة
لنفترض أن نموذج الشبكة السابق يمثل سعادة المستخدم المكتسبة من خلال مقهى محلي مقترح يتم حسابه باستخدام الميزات:
- سعر القهوة يتراوح بين 0 إلى 20 دولارًا
- المسافة إلى المستخدم، في نطاق 0 إلى 30 كيلومترا
نريد أن يتعرف نموذجنا على سعادة المستخدم من خلال اقتراح مقهى محلي. يمكن لنماذج TensorFlow Lattice استخدام دوال خطية متعددة التعريف (مع tfl.layers.PWLCalibration
) لمعايرة وتطبيع ميزات الإدخال إلى النطاق الذي تقبله الشبكة: 0.0 إلى 1.0 في المثال الشبكي أعلاه. فيما يلي أمثلة على وظائف المعايرة هذه ذات 10 نقاط مفاتيح:
غالبًا ما يكون من الجيد استخدام الكميات الخاصة بالميزات كنقاط مفاتيح للإدخال. يمكن لنماذج TensorFlow Lattice المعدة مسبقًا ضبط نقاط مفاتيح الإدخال تلقائيًا على الكميات المميزة.
بالنسبة للميزات الفئوية، توفر TensorFlow Lattice معايرة فئوية (باستخدام tfl.layers.CategoricalCalibration
) مع حدود إخراج مماثلة للتغذية في الشبكة.
الفرق
يزداد عدد معلمات الطبقة الشبكية بشكل كبير مع عدد ميزات الإدخال، وبالتالي لا يتم قياسها بشكل جيد إلى أبعاد عالية جدًا. للتغلب على هذا القيد، تقدم TensorFlow Lattice مجموعات من الشبكات التي تجمع (في المتوسط) عدة شبكات صغيرة ، مما يمكّن النموذج من النمو خطيًا في عدد الميزات.
توفر المكتبة نسختين مختلفتين من هذه المجموعات:
شبكات عشوائية صغيرة (RTL): يستخدم كل نموذج فرعي مجموعة فرعية عشوائية من الميزات (مع الاستبدال).
البلورات : تقوم خوارزمية البلورات أولاً بتدريب نموذج ملائم يقوم بتقدير تفاعلات الميزات الزوجية. ثم يقوم بترتيب المجموعة النهائية بحيث تكون الميزات ذات التفاعلات غير الخطية أكثر في نفس الشبكات.
لماذا شعرية TensorFlow؟
يمكنك العثور على مقدمة مختصرة عن TensorFlow Lattice في منشور مدونة TF هذا.
القابلية للتفسير
نظرًا لأن معلمات كل طبقة هي مخرجات تلك الطبقة، فمن السهل تحليل وفهم وتصحيح كل جزء من النموذج.
نماذج دقيقة ومرنة
باستخدام الشبكات الدقيقة، يمكنك الحصول على وظائف معقدة بشكل عشوائي باستخدام طبقة شبكية واحدة. غالبًا ما يعمل استخدام طبقات متعددة من المعايرات والشبكات بشكل جيد في الممارسة العملية ويمكن أن يطابق أو يتفوق على نماذج DNN ذات الأحجام المماثلة.
قيود الشكل المنطقية
قد لا تمثل بيانات التدريب في العالم الحقيقي بيانات وقت التشغيل بشكل كافٍ. غالبًا ما تعمل حلول تعلم الآلة المرنة مثل شبكات DNN أو الغابات بشكل غير متوقع وحتى بشكل عشوائي في أجزاء من مساحة الإدخال التي لا تغطيها بيانات التدريب. ويشكل هذا السلوك مشكلة خاصة عندما يكون من الممكن انتهاك قيود السياسة أو العدالة.
على الرغم من أن الأشكال الشائعة للتنظيم يمكن أن تؤدي إلى استقراء أكثر منطقية، إلا أن المنظمين القياسيين لا يمكنهم ضمان سلوك نموذجي معقول عبر مساحة الإدخال بأكملها، خاصة مع المدخلات عالية الأبعاد. إن التحول إلى نماذج أبسط ذات سلوك أكثر تحكمًا وقابلية للتنبؤ يمكن أن يكون له تكلفة باهظة على دقة النموذج.
يتيح TF Lattice الاستمرار في استخدام النماذج المرنة، ولكنه يوفر العديد من الخيارات لحقن معرفة المجال في عملية التعلم من خلال قيود الشكل ذات المعنى العام أو التي تعتمد على السياسة:
- الرتابة : يمكنك تحديد أن الإخراج يجب أن يزيد/ينقص فقط فيما يتعلق بالمدخل. في مثالنا، قد ترغب في تحديد أن زيادة المسافة إلى المقهى يجب أن تؤدي فقط إلى تقليل تفضيلات المستخدم المتوقعة.
التحدب/التقعر : يمكنك تحديد أن شكل الوظيفة يمكن أن يكون محدبًا أو مقعرًا. ممزوجًا بالرتابة، يمكن أن يجبر هذا الدالة على تمثيل عوائد متناقصة فيما يتعلق بميزة معينة.
Unimodality : يمكنك تحديد أن الدالة يجب أن يكون لها قمة فريدة أو وادي فريد. يتيح لك هذا تمثيل الوظائف التي تتمتع بمكانة جيدة فيما يتعلق بالميزة.
الثقة الزوجية : يعمل هذا القيد على زوج من الميزات ويقترح أن إحدى ميزات الإدخال تعكس بشكل دلالي الثقة في ميزة أخرى. على سبيل المثال، العدد الأكبر من المراجعات يجعلك أكثر ثقة في متوسط تقييم النجوم للمطعم. سيكون النموذج أكثر حساسية فيما يتعلق بتصنيف النجوم (أي سيكون لديه ميل أكبر فيما يتعلق بالتقييم) عندما يكون عدد المراجعات أعلى.
المرونة الخاضعة للرقابة مع المنظمين
بالإضافة إلى قيود الشكل، توفر شبكة TensorFlow عددًا من أدوات التنظيم للتحكم في مرونة وسلاسة الوظيفة لكل طبقة.
منظم لابلاس : يتم تنظيم مخرجات نقاط الشبكة/المعايرة/نقاط المفاتيح تجاه قيم جيرانها. وينتج عن هذا وظيفة أكثر تملقًا .
منظم هسه : يعاقب هذا المشتق الأول من طبقة معايرة PWL لجعل الوظيفة أكثر خطية .
منظم التجاعيد : يعاقب هذا المشتق الثاني من طبقة معايرة PWL لتجنب التغيرات المفاجئة في الانحناء. يجعل الوظيفة أكثر سلاسة.
منظم الالتواء : سيتم تنظيم مخرجات الشبكة لمنع الالتواء بين الميزات. بمعنى آخر، سيتم تنظيم النموذج نحو الاستقلال بين مساهمات الميزات.
امزجيه وتطابقه مع طبقات Keras الأخرى
يمكنك استخدام طبقات TF Lattice مع طبقات Keras الأخرى لإنشاء نماذج مقيدة أو منتظمة جزئيًا. على سبيل المثال، يمكن استخدام طبقات المعايرة الشبكية أو PWL في الطبقة الأخيرة من الشبكات الأعمق التي تتضمن عمليات التضمين أو طبقات Keras الأخرى.
أوراق
- الأخلاقيات الأخلاقية من خلال قيود الشكل الرتابة ، سيرينا وانغ، مايا غوبتا، المؤتمر الدولي للذكاء الاصطناعي والإحصاء (AISTATS)، 2020
- قيود الشكل لوظائف المجموعة ، أندرو كوتر، مايا غوبتا، إتش جيانغ، إيريز لويدور، جيم مولر، تامان نارايان، سيرينا وانغ، تاو تشو. المؤتمر الدولي للتعلم الآلي (ICML)، 2019
- تناقص عوائد القيود الشكلية لقابلية التفسير والتنظيم ، مايا جوبتا، دارا بحري، أندرو كوتر، كيفن كانيني، التقدم في أنظمة معالجة المعلومات العصبية (NeurIPS)، 2018
- الشبكات العميقة والوظائف الرتيبة الجزئية ، سينجيل يو، كيفن كانيني، ديفيد دينغ، جان فايفر، مايا ر. غوبتا، التقدم في أنظمة معالجة المعلومات العصبية (NeurIPS)، 2017
- وظائف رتيبة سريعة ومرنة مع مجموعات من المشابك ، مهدي ميلاني فرد، كيفن كانيني، أندرو كوتر، جان فايفر، مايا غوبتا، التقدم في أنظمة معالجة المعلومات العصبية (NeurIPS)، 2016
- جداول البحث المحرفة الرتيبة ، مايا غوبتا، أندرو كوتر، جان فايفر، كونستانتين فويفودسكي، كيفن كانيني، ألكسندر مانجيلوف، فويتشيك موكزيدلوسكي، ألكسندر فان إسبروك، مجلة أبحاث التعلم الآلي (JMLR)، 2016
- الانحدار الأمثل لتقييم الوظائف بكفاءة ، إريك جارسيا، رامان أرورا، مايا ر. جوبتا، IEEE Transactions on Image Processing، 2012
- الانحدار الشبكي ، إريك جارسيا، مايا جوبتا، التقدم في أنظمة معالجة المعلومات العصبية (NeurIPS)، 2009
البرامج التعليمية ومستندات API
بالنسبة لبنيات النماذج الشائعة، يمكنك استخدام نماذج Keras المعدة مسبقًا . يمكنك أيضًا إنشاء نماذج مخصصة باستخدام طبقات TF Lattice Keras أو مزجها ومطابقتها مع طبقات Keras الأخرى. تحقق من مستندات API الكاملة للحصول على التفاصيل.
,TensorFlow Lattice هي مكتبة تنفذ نماذج شبكية مرنة ويمكن التحكم فيها وقابلة للتفسير. تمكنك المكتبة من إدخال معرفة المجال في عملية التعلم من خلال قيود الشكل المنطقية أو القائمة على السياسة. يتم ذلك باستخدام مجموعة من طبقات Keras التي يمكنها تلبية قيود مثل الرتابة والتحدب والثقة الزوجية. توفر المكتبة أيضًا نماذج سهلة الإعداد.
المفاهيم
هذا القسم هو نسخة مبسطة من الوصف الوارد في جداول البحث الرتيبة المعايرة المحرفة ، JMLR 2016.
المشابك
الشبكة عبارة عن جدول بحث محرف يمكنه تقريب العلاقات العشوائية بين المدخلات والمخرجات في بياناتك. فهو يتداخل مع شبكة عادية في مساحة الإدخال الخاصة بك ويتعلم قيم الإخراج في رؤوس الشبكة. لنقطة الاختبار \(x\), \(f(x)\) يتم تحريفه خطيًا من قيم الشبكة المحيطة \(x\).
المثال البسيط أعلاه هو دالة تحتوي على ميزتين إدخال و4 معلمات:\(\theta=[0, 0.2, 0.4, 1]\)، وهي قيم الوظيفة في زوايا مساحة الإدخال؛ يتم استيفاء بقية الوظيفة من هذه المعلمات.
الوظيفة \(f(x)\) يمكن التقاط التفاعلات غير الخطية بين الميزات. يمكنك التفكير في معلمات الشبكة على أنها ارتفاع الأعمدة المثبتة في الأرض على شبكة عادية، والوظيفة الناتجة تشبه قطعة قماش مشدودة بقوة على الأعمدة الأربعة.
مع \(D\) ميزات وقممين على طول كل بعد، سيكون هناك شبكة منتظمة \(2^D\) حدود. لملاءمة وظيفة أكثر مرونة، يمكنك تحديد شبكة أكثر دقة على مساحة الميزة مع المزيد من القمم على طول كل بُعد. وظائف الانحدار الشبكية مستمرة وقابلة للتمييز بشكل لا نهائي.
معايرة
لنفترض أن نموذج الشبكة السابق يمثل سعادة المستخدم المكتسبة من خلال مقهى محلي مقترح يتم حسابه باستخدام الميزات:
- سعر القهوة يتراوح بين 0 إلى 20 دولارًا
- المسافة إلى المستخدم، في نطاق 0 إلى 30 كيلومترا
نريد أن يتعرف نموذجنا على سعادة المستخدم من خلال اقتراح مقهى محلي. يمكن لنماذج TensorFlow Lattice استخدام دوال خطية متعددة التعريف (مع tfl.layers.PWLCalibration
) لمعايرة وتطبيع ميزات الإدخال إلى النطاق الذي تقبله الشبكة: 0.0 إلى 1.0 في المثال الشبكي أعلاه. فيما يلي أمثلة على وظائف المعايرة هذه ذات 10 نقاط مفاتيح:
غالبًا ما يكون من الجيد استخدام الكميات الخاصة بالميزات كنقاط مفاتيح للإدخال. يمكن لنماذج TensorFlow Lattice المعدة مسبقًا ضبط نقاط مفاتيح الإدخال تلقائيًا على الكميات المميزة.
بالنسبة للميزات الفئوية، توفر TensorFlow Lattice معايرة فئوية (باستخدام tfl.layers.CategoricalCalibration
) مع حدود إخراج مماثلة للتغذية في الشبكة.
الفرق
يزداد عدد معلمات الطبقة الشبكية بشكل كبير مع عدد ميزات الإدخال، وبالتالي لا يتم قياسها بشكل جيد إلى أبعاد عالية جدًا. للتغلب على هذا القيد، تقدم TensorFlow Lattice مجموعات من الشبكات التي تجمع (في المتوسط) عدة شبكات صغيرة ، مما يمكّن النموذج من النمو خطيًا في عدد الميزات.
توفر المكتبة نسختين مختلفتين من هذه المجموعات:
شبكات عشوائية صغيرة (RTL): يستخدم كل نموذج فرعي مجموعة فرعية عشوائية من الميزات (مع الاستبدال).
البلورات : تقوم خوارزمية البلورات أولاً بتدريب نموذج مُجهز مسبقًا يقوم بتقدير تفاعلات الميزات الزوجية. ثم يقوم بترتيب المجموعة النهائية بحيث تكون الميزات ذات التفاعلات غير الخطية أكثر في نفس الشبكات.
لماذا شعرية TensorFlow؟
يمكنك العثور على مقدمة مختصرة عن TensorFlow Lattice في منشور مدونة TF هذا.
القابلية للتفسير
نظرًا لأن معلمات كل طبقة هي مخرجات تلك الطبقة، فمن السهل تحليل وفهم وتصحيح كل جزء من النموذج.
نماذج دقيقة ومرنة
باستخدام الشبكات الدقيقة، يمكنك الحصول على وظائف معقدة بشكل عشوائي باستخدام طبقة شبكية واحدة. غالبًا ما يعمل استخدام طبقات متعددة من المعايرات والشبكات بشكل جيد في الممارسة العملية ويمكن أن يطابق أو يتفوق على نماذج DNN ذات الأحجام المماثلة.
قيود الشكل المنطقية
قد لا تمثل بيانات التدريب في العالم الحقيقي بيانات وقت التشغيل بشكل كافٍ. غالبًا ما تعمل حلول تعلم الآلة المرنة مثل شبكات DNN أو الغابات بشكل غير متوقع وحتى بشكل عشوائي في أجزاء من مساحة الإدخال التي لا تغطيها بيانات التدريب. ويشكل هذا السلوك مشكلة خاصة عندما يكون من الممكن انتهاك قيود السياسة أو العدالة.
على الرغم من أن الأشكال الشائعة للتنظيم يمكن أن تؤدي إلى استقراء أكثر منطقية، إلا أن المنظمين القياسيين لا يمكنهم ضمان سلوك نموذجي معقول عبر مساحة الإدخال بأكملها، خاصة مع المدخلات عالية الأبعاد. إن التحول إلى نماذج أبسط ذات سلوك أكثر تحكمًا وقابلية للتنبؤ يمكن أن يكون له تكلفة باهظة على دقة النموذج.
يتيح TF Lattice الاستمرار في استخدام النماذج المرنة، ولكنه يوفر العديد من الخيارات لحقن المعرفة بالمجال في عملية التعلم من خلال قيود الشكل ذات المعنى العام أو التي تعتمد على السياسة:
- الرتابة : يمكنك تحديد أن الإخراج يجب أن يزيد/ينقص فقط فيما يتعلق بالمدخل. في مثالنا، قد ترغب في تحديد أن زيادة المسافة إلى المقهى يجب أن تؤدي فقط إلى تقليل تفضيلات المستخدم المتوقعة.
التحدب/التقعر : يمكنك تحديد أن شكل الوظيفة يمكن أن يكون محدبًا أو مقعرًا. ممزوجًا بالرتابة، يمكن أن يجبر هذا الدالة على تمثيل عوائد متناقصة فيما يتعلق بميزة معينة.
Unimodality : يمكنك تحديد أن الدالة يجب أن يكون لها قمة فريدة أو وادي فريد. يتيح لك هذا تمثيل الوظائف التي تتمتع بمكانة جيدة فيما يتعلق بالميزة.
الثقة الزوجية : يعمل هذا القيد على زوج من الميزات ويقترح أن إحدى ميزات الإدخال تعكس بشكل دلالي الثقة في ميزة أخرى. على سبيل المثال، العدد الأكبر من المراجعات يجعلك أكثر ثقة في متوسط تقييم النجوم للمطعم. سيكون النموذج أكثر حساسية فيما يتعلق بتصنيف النجوم (أي سيكون لديه ميل أكبر فيما يتعلق بالتقييم) عندما يكون عدد المراجعات أعلى.
المرونة الخاضعة للرقابة مع المنظمين
بالإضافة إلى قيود الشكل، توفر شبكة TensorFlow عددًا من أدوات التنظيم للتحكم في مرونة وسلاسة الوظيفة لكل طبقة.
منظم لابلاس : يتم تنظيم مخرجات نقاط الشبكة/المعايرة/نقاط المفاتيح تجاه قيم جيرانها. وينتج عن هذا وظيفة أكثر تملقًا .
منظم هسه : يعاقب هذا المشتق الأول من طبقة معايرة PWL لجعل الوظيفة أكثر خطية .
منظم التجاعيد : يعاقب هذا المشتق الثاني من طبقة معايرة PWL لتجنب التغيرات المفاجئة في الانحناء. يجعل الوظيفة أكثر سلاسة.
منظم الالتواء : سيتم تنظيم مخرجات الشبكة لمنع الالتواء بين الميزات. بمعنى آخر، سيتم تنظيم النموذج نحو الاستقلال بين مساهمات الميزات.
امزجيه وتطابقه مع طبقات Keras الأخرى
يمكنك استخدام طبقات TF Lattice مع طبقات Keras الأخرى لإنشاء نماذج مقيدة أو منتظمة جزئيًا. على سبيل المثال، يمكن استخدام طبقات المعايرة الشبكية أو PWL في الطبقة الأخيرة من الشبكات الأعمق التي تتضمن عمليات التضمين أو طبقات Keras الأخرى.
أوراق
- الأخلاقيات الأخلاقية من خلال قيود الشكل الرتابة ، سيرينا وانغ، مايا غوبتا، المؤتمر الدولي للذكاء الاصطناعي والإحصاء (AISTATS)، 2020
- قيود الشكل لوظائف المجموعة ، أندرو كوتر، مايا غوبتا، إتش جيانغ، إيريز لويدور، جيم مولر، تامان نارايان، سيرينا وانغ، تاو تشو. المؤتمر الدولي للتعلم الآلي (ICML)، 2019
- تناقص عوائد القيود الشكلية لقابلية التفسير والتنظيم ، مايا جوبتا، دارا بحري، أندرو كوتر، كيفن كانيني، التقدم في أنظمة معالجة المعلومات العصبية (NeurIPS)، 2018
- الشبكات العميقة والوظائف الرتيبة الجزئية ، سينجيل يو، كيفن كانيني، ديفيد دينغ، جان فايفر، مايا ر. غوبتا، التقدم في أنظمة معالجة المعلومات العصبية (NeurIPS)، 2017
- وظائف رتيبة سريعة ومرنة مع مجموعات من المشابك ، مهدي ميلاني فرد، كيفن كانيني، أندرو كوتر، جان فايفر، مايا غوبتا، التقدم في أنظمة معالجة المعلومات العصبية (NeurIPS)، 2016
- جداول البحث المحرفة الرتيبة ، مايا غوبتا، أندرو كوتر، جان فايفر، كونستانتين فويفودسكي، كيفن كانيني، ألكسندر مانجيلوف، فويتشيك موكزيدلوسكي، ألكسندر فان إسبروك، مجلة أبحاث التعلم الآلي (JMLR)، 2016
- الانحدار الأمثل لتقييم الوظائف بكفاءة ، إريك جارسيا، رامان أرورا، مايا ر. جوبتا، IEEE Transactions on Image Processing، 2012
- الانحدار الشبكي ، إريك جارسيا، مايا جوبتا، التقدم في أنظمة معالجة المعلومات العصبية (NeurIPS)، 2009
البرامج التعليمية ومستندات API
بالنسبة لبنيات النماذج الشائعة، يمكنك استخدام نماذج Keras المعدة مسبقًا . يمكنك أيضًا إنشاء نماذج مخصصة باستخدام طبقات TF Lattice Keras أو مزجها ومطابقتها مع طبقات Keras الأخرى. تحقق من مستندات API الكاملة للحصول على التفاصيل.