* حصريًا من أجل دراسة التعلم الآلي بالطبع. تحت نظر زوجته الحبيبة مستاءة قليلاً.
ربما لا يوجد تطبيق بسيط على مستوى ردود الفعل في العمود الفقري مثل Tinder. من أجل استخدامه ، يكفي إصبع واحد للتمرير وبعض الخلايا العصبية لاختيار الفتيات أو الرجال الذين تفضلهم. التنفيذ المثالي للقوة الغاشمة في اختيار الزوج.
اعتقدت أن هذه طريقة جيدة للحصول على القليل من التعلم الآلي على بطاقة رسومات جديدة. كل ما تبقى هو أن أشرح لزوجتي أنني لست بحاجة إلى امرأة جديدة أكثر سمكا ، لكنني أقوم فقط بتدريب الشبكات العصبية.
ما هي مشكلة شبكات المواعدة
كان هناك مثل هذا المورد - أشلي ماديسون. محدد ، مع شعار "الحياة قصيرة. لدينا علاقة. الجمهور الرئيسي هو الرجال المتزوجون الذين يبحثون عن علاقة غرامية جانبية. يعد تحقيق الدخل أمرًا ممتعًا أيضًا - بالإضافة إلى "إنفاق النقاط للإعجاب والكتابة" ، طلبوا 19 دولارًا لحذف حساب المستخدم دون أي أثر.
في عام 2015 ، تم تسريب الموقع بشكل طبيعي وتم تسريب 60 جيجابايت من البيانات الشخصية إلى المجال العام. بالإضافة إلى العديد من العائلات المدمرة ، قدم هذا التسريب الكثير من المعلومات المثيرة للاهتمام للمحللين. كنت أظن دائمًا أن هناك الكثير من الرجال على مواقع المواعدة ، لكن في هذه الحالة تبين أنها مثيرة جدًا للاهتمام. صحفية Annalee Newitz
مثل هذه الغلبة تجاه حسابات الذكور أمر نموذجي ليس فقط لهذا المورد ، ولكن أيضًا لمعظم مواقع المواعدة الأخرى. أنا متأكد من أن الكثيرين قد واجهوا هذا الموقف غير العادل بلا شك ، عندما يتعين عليك التفكير بعناية في أحد معارفك ، وتحتاج الفتاة فقط إلى التسجيل. دعنا نترك جودة هذا الحشد من المعجبين جانبًا ، لكن الحقيقة لا يمكن إنكارها ، فمن الواضح أن ميزان العرض والطلب قد تحول لصالح الفتيات.
ميزة Tinder
المفترس المثالي في العلاقات بين الجنسين
الميزة الرئيسية لهذه المنصة هي التكلفة المنخفضة لكل معرفة. تكفي مصادفة الضربات الشديدة وأنت تتحدث بالفعل مع شخص مثير للاهتمام. المشكلة هي أن عدم التوازن بين الجنسين يؤدي إلى حقيقة أن معظم الفتيات سيخوضن عشرات المباريات في اليوم. هذا يعني أنه لن يكون لديهم على الأرجح الوقت للاهتمام بك من بين المرشحين الآخرين.
من الواضح تمامًا أن النظام الأساسي يتضمن فرصًا قليلة لتقييم العالم الداخلي العميق للشخص من خلال نظرة ثانية ونصف على صورة في ملابس السباحة أو قيادة سيارة ملونة عصرية. لذلك ، إذا كنت لا تبدو مجرد إلهية في صورك ، فليس لديك خيار سوى زيادة فرصك بالتبني
جمع البيانات
بادئ ذي بدء ، أنت بحاجة إلى الكثير من البيانات من أجل الدقة العادية. يعرف أي شخص تعامل مع التعلم الآلي مدى صعوبة كتابة مجموعة بيانات تم تجميعها بشكل صحيح وتسميتها. نظريًا ، أي مورد مشابه مناسب كمصدر بيانات ، سواء كان Instagram أو شبكات اجتماعية أخرى. ولكن من الأفضل التدرب على تلك العينات التي ستعمل عليها الشبكة في المستقبل.
لنأخذ المستودع كأساس
from skimage.io import imread, imsave, imshow, show
import matplotlib.pyplot as plt
import pynder
from helpers import get_access_token, get_login_credentials
from io_helper import save_image
email, password, FBID = get_login_credentials()
FBTOKEN = get_access_token(email, password)
session = pynder.Session(facebook_token=FBTOKEN)
while True:
users = session.nearby_users()
for user in users:
photos = user.get_photos()
print("Fetched user photos..")
for photo in photos:
print(photo)
image = imread(photo)
imshow(image)
show()
input_string = "Write 1 to like. Write 2 to dislike."
ans = str(input(input_string)).lower()
if ans == "1":
save_image(image, photo, True)
else:
save_image(image, photo, False)
سيسمح لك بترميز مجموعة البيانات بأسرع ما يمكن باستخدام زرين فقط. المأزق الرئيسي هو أن مكتبة werkzeug قد كسرت التوافق مع الإصدارات السابقة وسيتعين عليك تخفيض التصنيف. وإلا فإنه يرمي هذا الخطأ.
Traceback (most recent call last):
File "img_scrape.py", line 4, in <module>
from helpers import get_access_token, get_login_credentials
File "/home/someone/tmp/TinderAutomation/helpers.py", line 1, in <module>
import robobrowser
File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/__init__.py", line 3, in <module>
from .browser import RoboBrowser
File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/browser.py", line 8, in <module>
from werkzeug import cached_property
ImportError: cannot import name 'cached_property'
لذلك ، يجب كتابة werkzeug == 0.16.1 في requirements.txt. ثم سوف تقلع.
المشكلة الثانية هي الحصول على هذا الرمز المميز للغاية. لم تنطلق الطريقة القياسية من المستودع بالنسبة لي ، لكنني تمكنت من الحصول عليها من وحدة تحكم المطورين. للقيام بذلك ، انتقل إلى
متطلبات مجموعة البيانات
هناك العديد من المتطلبات الأساسية لمجموعات بيانات التعلم الآلي:
- قدرة
- التوحيد
- تنوع
يتطلب الاكتفاء في هذه الحالة ما لا يقل عن 10000 صورة لبناء نموذج مناسب. نعم ، هذا كثير. لهذا السبب توجد خدمات مثل
لا توجد مشاكل خاصة مع التنوع ، يتم تقديم جميع الصور في مجموعة متنوعة من الزوايا والإضاءة. في النظارات والفساتين وملابس السباحة وبدلات التزلج. قد تنشأ المشكلة مع توحيد مجموعة البيانات. من الناحية المثالية ، عندما نقوم بترميز العينة الخاصة بنا ، يجب أن تتكون من أجزاء متساوية تقريبًا. إذا كانت لديك مجموعة بيانات "منحرفة" ، فسيتعين عليك تخفيفها بالصور من مصادر أخرى. سوف تحتاج إلى إضافة أجمل منها ، أو العكس ، ستحدد من خلال نتيجة الترميز. حصلت على شيء في منطقة 60٪ لطيف. إما أنني لست صعب الإرضاء للغاية ، أو أنني محظوظة وهناك الكثير من الفتيات الجميلات.
كما أنني لا أرفض الفرضية القائلة بوجود العديد من الروبوتات بينهم. نحن ندرب روبوتًا يحب الروبوتات الأخرى. هناك بعض السخرية في هذا.
معالجة البيانات
لدينا مجموعة من الصور المعلمة ، لكنها مختلطة للغاية. ليلا ونهارا من الخلف وغيرها. مع الأسف ، أفهم أنه ليس من الممكن بشكل خاص التدرب على الصور من الزاوية العكسية ، لأن العينة ستكون غير متساوية للغاية. لذلك ، فإن الخيار الأفضل هو استخدام الوجوه كعلامة مرجعية لـ "الجمال". ومع ذلك ، بالنسبة لنا ، كما هو الحال بالنسبة للقرود الأخرى ، هذا هو المعيار الرئيسي.
لذلك سوف نستخدم
هذا موصوف بمزيد من التفصيل في دليل ل
في المرحلة التالية ، بعد أن تكون الوجوه فقط في العينة ، من المنطقي إزالة اللون. في الواقع ، من غير المحتمل أن تضطر إلى الاختيار بين امرأة باندورا زرقاء جميلة أو جمال بشرة خضراء.
في Hue people ، لا تساهم معلمة لون البشرة بشكل كبير في درجة الجاذبية.
لذلك ، فإن الأمر يستحق تبسيط عمل الشبكة العصبية وترك التدرج الرمادي فقط.
بناء نموذج
أريد أن أقول على الفور أنه بدون بطاقة فيديو جيدة و CUDA ، لن تحصل على نموذج مدرب في إطار زمني مناسب. لذلك ، استهدف على الفور إجراء عمليات حسابية في السحب المتخصصة أو باستخدام python-CUDA.
أخذت مثالًا أساسيًا مكونًا من ثلاث طبقات من مؤلف المستودع ، ومن المدهش أنه أظهر دقة تبلغ حوالي 72٪ ، وهي نتيجة جيدة تمامًا.
model = Sequential()
model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(img_size, img_size, 3)))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(32, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(64, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))
adam = optimizers.SGD(lr=1e-4, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer= adam,
metrics=['accuracy'])
إذا كانت هناك عينة جيدة ، فقد يكفي الحصول على نموذج عملي.
بدء تشغيل الروبوت
شكرا لمؤلف المستودع للنسخة الجاهزة لاختبار الفكرة بسرعة. في الواقع ، إنه يعمل جيدًا في الإصدار الأساسي ويمكن ، من حيث المبدأ ، إطلاقه على موقعنا
النتائج
يجب أن أكون لطيفًا جدًا. ولدي عالم داخلي غني. حصلت على شيء في حدود 13 مباراة خلال ساعة. علاوة على ذلك ، كتبت الفتيات أولاً عدة مرات.
نتيجة لذلك ، تم الحصول على حوارات لطيفة للغاية ، حيث قلت إنني جئت فقط للعب مع التعلم الآلي وترميز البيانات. كانت إحدى الفتيات مهتمة للغاية ، لأنها هي نفسها مطورة. هناك شعور قوي بأنها ستقرأ في النهاية هذا المنشور عن حبري. آمل حقًا أن تحافظ أوكسانا على سرية هويتي. 🙂
* يلوح بمخلبه ويقول مرحبا
قليلا عن الجانب الأخلاقي للقضية
لأكون صادقًا ، لا أحب فكرة أتمتة العلاقات بين الرجال والفتيات على الإطلاق. هناك شيء صحيح للغاية بشأن رمي سترتك على أكتاف شخص غريب متجمد يقف وحيدًا. أو تقترب من فتاة جميلة في مقهى صيفي وتناول القهوة معًا. اخرج من خلف الشاشات.
قرابة الصيف. حان الوقت للتعرف.
المصدر: www.habr.com