معرفی تشابه TensorFlow
TensorFlow Similarity یک کتابخانه جدید منتشر شده از گوگل است که آموزش، نمایه سازی و جستجوی مدل های مشابه را تسهیل می کند. بیشتر اینجا را بررسی کنید.
اغلب ما نیاز داریم که بتوانیم چیزهایی را پیدا کنیم که شبیه چیزهای دیگر هستند. جستجوی شباهت یک تکنیک مفید برای انجام این کار است. در علم داده، یادگیری متضاد می توان از آن برای ساخت مدل های شباهت استفاده کرد که سپس می تواند برای جستجوی شباهت استفاده شود.
مدل های شباهت برای خروجی تعبیههایی آموزش دیدهاند که در آن آیتمها در یک فضای متریک جاسازی شدهاند، در نتیجه شرایطی ایجاد میشود که موارد مشابه نزدیک به یکدیگر و دورتر از موارد غیرمشابه هستند. این به طور مستقیم - هم از نظر شهودی و هم از نظر ریاضی - با جاسازی کلمات، که شما قبلاً با آن آشنا هستید، مرتبط است. پاریس و لندن مانند خردل و سس گوجه فرنگی به یکدیگر نزدیک هستند، اما این دو گروه نسبتاً از یکدیگر دورتر هستند.
به همین ترتیب، میتوانیم از یک مدل شباهت برای مقایسه مثلاً وسایل نقلیه استفاده کنیم. برای مثال، سدانهای بیامو و مرسدس بنز در نزدیکی یکدیگر قرار میگیرند، در حالی که موتورسیکلتهای یاماها و کاوازاکی خود را نزدیک به هم تعبیه میکنند. موتورسیکلتها نسبتاً دورتر از سدانها خواهند بود، که به نوبه خود از سایر وسایل نقلیه غیرمشابه مانند قایق، موتورخانه، ون، دوچرخه و غیره فاصله خواهند داشت.
نمای کلی مدل شباهت (منبع)
یادگیری عمیق برای آموزش شبکه های عصبی استفاده می شود که اغلب خود را برای این مدل های مشابه استفاده می کنند. برای سهولت در آموزش چنین مدل هایی، گوگل به تازگی منتشر کرده است تشابه TensorFlow.
Tensorflow Similarity الگوریتم های پیشرفته ای را برای یادگیری متریک و تمام اجزای لازم برای تحقیق، آموزش، ارزیابی و ارائه مدل های مبتنی بر شباهت ارائه می دهد.
پس از آموزش یک مدل، یک نمایه جاسازی به منظور تسهیل جستجو ساخته می شود. برای جستجو، TF Similarity از جستجوی سریع تقریبی نزدیکترین همسایه (ANN) برای بازیابی نزدیکترین موارد منطبق استفاده می کند. از آنجایی که فاصله بین موارد تعبیه شده تابعی از متریک فاصله است، جستجوها با استفاده از ANN سریع و دقیق هستند.
مدلهای مشابه نیز انعطافپذیر و توسعهپذیر هستند و اجازه میدهند تعداد نامحدودی از کلاسها بدون آموزش مجدد به مدل اضافه شوند. به سادگی تعبیههای آیتم جدید را محاسبه کرده و آنها را به فهرست موجود اضافه کنید.
نمای کلی تشابه TensorFlow (منبع)
TensorFlow Similarity آموزش مدل های شباهت و همچنین پرس و جوی بعدی را آسان می کند، به ویژه با معرفی مدل جدید Keras. SimilarityModel()
، که از تعبیه نمایه سازی و پرس و جو پشتیبانی می کند. با TF Similarity، آموزش مدل و پرس و جو از انتها به پایان ساده است.
برای نشان دادن، در اینجا کد مثال از شباهت TF آورده شده است GitHub Repo که به طور خلاصه مجموعه داده MNIST را آموزش می دهد، فهرست می کند و پرس و جو می کند.
از لایههای واردات tensorflow.keras # جاسازی لایه خروجی با استاندارد L2 از tensorflow_similarity.layers import MetricEmbedding # تلفات متریک تخصصی از tensorflow_similarity.losses import MultiSimilarityLoss # مدل keras زیر کلاس با پشتیبانی از نمایه سازی از tensorflow_similarity.models import SimilarityModel # نمونهبردار داده که مجموعه دادهها را مستقیماً از کاتالوگ مجموعه داده tf میکشد از tensorflow_similarity.samplers وارد کردن TFDatasetMultiShotMemorySampler # نزدیکترین تصویرساز همسایه from tensorflow_similarity.visualization import viz_neigbors_imgs # نمونهگر داده که دستههای متعادلی را از مجموعه داده MNIST تولید میکند سمپلر = TFDatasetMultiShotMemorySampler(dataset_name='mnist', classes_per_batch=10) # ساخت یک مدل مشابه با استفاده از لایه های استاندارد Keras ورودی ها = لایه ها. ورودی(شکل=(28، 28، 1)) x = لایهها. تغییر مقیاس (1/255) (ورودیها) x = layers.Conv2D(64, 3, activation='relu')(x) x = لایه ها. Flatten()(x) x = layers.Dense(64, activation='relu')(x) خروجی ها = MetricEmbedding(64)(x) # ساخت یک مدل تشابه تخصصی مدل = SimilarityModel (ورودیها، خروجیها) # Train مدل شباهت با استفاده از افت کنتراست model.compile('adam', loss=MultiSimilarityLoss()) model.fit(sampler, epochs=5) # Index 100 نمونههای MNIST تعبیهشده برای قابل جستجو کردن آنها sx, sy = sampler.get_slice(0,100) model.index(x=sx, y=sy, data=sx) # 5 نمونه برتر نمایه شده MNIST را برای یک مثال مشخص پیدا کنید qx، qy = sampler.get_slice(3713، 1) nns = model.single_lookup(qx[0]) # مثال پرس و جو و 5 همسایه برتر آن را تجسم کنید viz_neigbors_imgs(qx[0]، qy[0]، nns)
اگر متوجه شدید که به دنبال چیزهایی هستید که شبیه چیزهای دیگر هستند، TensorFlow Similarity ممکن است بتواند به شما کمک کند. می توانید اطلاعات بیشتری را در آنها پیدا کنید GitHub repo، یا بررسی کنید سلام جهان مثال برای رسیدن به آن.
مربوط:
داستانهای برتر 30 روز گذشته | |||||
---|---|---|---|---|---|
|
|
منبع: https://www.kdnuggets.com/2021/09/introducing-tensorflow-similarity.html
- "
- &
- 100
- 9
- الگوریتم
- معرفی
- اجازه دادن
- برنامه های
- خودکار
- بهترین
- دوچرخه
- BMW
- ساختن
- رمز
- مشترک
- محاسبه
- داده ها
- علم اطلاعات
- یادگیری عمیق
- فاصله
- و غیره
- اکسل
- ضمیمهها
- FAST
- شکل
- نام خانوادگی
- تابع
- گوگل
- راهنمایی
- اینجا کلیک نمایید
- چگونه
- چگونه
- HTTPS
- شاخص
- IT
- کراس
- یادگیری
- کتابخانه
- لندن
- فراگیری ماشین
- مایکروسافت
- ML
- مدل
- موتور سیکلت
- همسایه ها
- شبکه
- عصبی
- شبکه های عصبی
- پیشنهادات
- سفارش
- دیگر
- پاریس
- پست ها
- پروژه
- پــایتــون
- تحقیق
- بازآموزی
- علم
- دانشمندان
- جستجو
- سدان
- So
- فضا
- داستان
- پشتیبانی
- پشتیبانی از
- جریان تنسور
- تست
- بالا
- بالا 5
- آموزش
- قطار
- وسایل نقلیه
- تجسم
- وب
- X