Przedstawiamy podobieństwo TensorFlow
TensorFlow Similarity to nowo wydana biblioteka Google, która ułatwia uczenie, indeksowanie i odpytywanie modeli podobieństwa. Sprawdź więcej tutaj.
Często musimy być w stanie znaleźć rzeczy, które przypominają inne rzeczy. Wyszukiwanie podobieństw jest przydatną techniką, aby to zrobić. W nauce o danych uczenie kontrastowe można wykorzystać do budowy modeli podobieństwa, które następnie można wykorzystać do wyszukiwania podobieństw.
Modele podobieństwa są wyszkoleni do wyprowadzania osadzeń, w których elementy są osadzone w przestrzeni metrycznej, co powoduje sytuację, w której podobne elementy znajdują się blisko siebie i dalej od niepodobnych elementów. Jest to bezpośrednio związane — zarówno intuicyjnie, jak i matematycznie — z osadzaniem słów, które już znasz; Paryż i Londyn są blisko siebie, podobnie jak musztarda i keczup, ale te dwie grupy są stosunkowo dalej od siebie.
W ten sam sposób moglibyśmy wykorzystać model podobieństwa do porównywania, powiedzmy, pojazdów. Na przykład sedany BMW i Mercedes byłyby osadzone blisko siebie, podczas gdy motocykle Yamaha i Kawasaki byłyby osadzone blisko siebie. Motocykle byłyby stosunkowo dalej od sedanów, które z kolei byłyby oddalone od innych niepodobnych pojazdów, takich jak łodzie, samochody kempingowe, furgonetki, rowery itp.
Przegląd modelu podobieństwa (źródło)
Głębokie uczenie służy do trenowania sieci neuronowych, które często są wykorzystywane w tych modelach podobieństwa. Aby ułatwić szkolenie takich modeli, Google niedawno wydało TensorFlow Podobieństwo.
Tensorflow podobieństwo oferuje najnowocześniejsze algorytmy do uczenia się metryk i wszystkie niezbędne komponenty do badania, szkolenia, oceny i obsługi modeli opartych na podobieństwie.
Po wytrenowaniu modelu budowany jest indeks osadzeń w celu ułatwienia wyszukiwania. Do wyszukiwania funkcja TF Similarity używa szybkiego wyszukiwania najbliższego najbliższego sąsiada (ANN) w celu wyszukania najbliższych dopasowań. Ponieważ odległość między osadzonymi elementami jest funkcją metryki odległości, wyszukiwania przy użyciu SSN są zarówno szybkie, jak i dokładne.
Modele podobieństwa są również elastyczne i rozszerzalne, co pozwala na dodawanie do modelu nieograniczonej liczby klas elementów bez konieczności ponownego szkolenia; po prostu oblicz reprezentatywne osadzenia nowego elementu i dodaj je do istniejącego indeksu.
Przegląd podobieństwa TensorFlow (źródło)
TensorFlow Similarity ułatwia trenowanie modeli podobieństwa, a także późniejsze intuicyjne odpytywanie, zwłaszcza po wprowadzeniu nowego modelu Keras SimilarityModel()
, który obsługuje indeksowanie osadzania i zapytania. Dzięki podobieństwu TF kompleksowe szkolenie i zapytania dotyczące modelu są proste.
Aby zademonstrować, oto przykładowy kod z podobieństwa TF Repozytorium GitHub który zwięźle trenuje, indeksuje i wysyła zapytania do zestawu danych MNIST.
from tensorflow.keras import layer # Osadzanie warstwy wyjściowej w normie L2 from tensorflow_similarity.layers import MetricEmbedding # Specjalistyczna utrata metryki z tensorflow_similarity.losses import MultiSimilarityLoss # Podklasy model keras z obsługą indeksowania z tensorflow_similarity import Data sample that.models bezpośrednio z katalogu zbiorów danych tf from tensorflow_similarity.samplers import TFDatasetMultiShotMemorySampler # Wizualizator najbliższego sąsiada z tensorflow_similarity.visualization import viz_neigbors_imgs # Próbnik danych generujący zrównoważone partie z zestawu danych MNIST sampler = TFDatasetMultiShotn_Memory_names, class10) przy użyciu standardowych warstw Keras input = layer.Input(shape=(28, 28, 1)) x = warstwy.Rescaling(1/255)(input) x = layer.Conv2D(64, 3, aktywacja='relu')( x) x = warstwy.Flatten()(x) x = warstwy.Dense(64, aktywacja='relu')(x) outputs = MetricEmbedding(64)(x) # B uild wyspecjalizowany model podobieństwa = SimilarityModel(wejścia, wyjścia) # Trenuj model podobieństwa za pomocą kontrastywnej straty model.compile('adam', loss=MultiSimilarityLoss()) model.fit(sampler, epochs=5) # Indeks 100 przykładów osadzonych MNIST aby można je było przeszukiwać sx, sy = sampler.get_slice(0,100) model.index(x=sx, y=sy, data=sx) # Znajdź 5 najbardziej podobnych indeksowanych przykładów MNIST dla danego przykładu qx, qy = sampler. get_slice(3713, 1) nns = model.single_lookup(qx[0]) # Wizualizuj przykład zapytania i jego 5 największych sąsiadów viz_neigbors_imgs(qx[0], qy[0], nns)
Jeśli okaże się, że szukasz rzeczy, które przypominają inne rzeczy, funkcja TensorFlow podobieństwa może być w stanie Ci pomóc. Więcej znajdziesz na ich GitHub repoLub sprawdzeniu Witaj świecie przykład, aby dostać się do tego.
Związane z:
Najważniejsze artykuły z ostatnich 30 dni | |||
---|---|---|---|
|
Źródło: https://www.kdnuggets.com/2021/09/introducing-tensorflow-similarity.html
- "
- &
- 100
- 9
- Algorytmy
- Wszystkie kategorie
- Pozwalać
- mobilne i webowe
- samochód
- BEST
- rowery
- BMW
- budować
- kod
- wspólny
- obliczać
- dane
- nauka danych
- głęboka nauka
- dystans
- itp
- przewyższać
- rozszerzenia
- FAST
- Postać
- i terminów, a
- funkcjonować
- poprowadzi
- tutaj
- W jaki sposób
- How To
- HTTPS
- wskaźnik
- IT
- keras
- nauka
- Biblioteka
- Londyn
- uczenie maszynowe
- Microsoft
- ML
- model
- motocykle
- sąsiedzi
- sieci
- Nerwowy
- sieci neuronowe
- Oferty
- zamówienie
- Inne
- Paryż
- Wiadomości
- projekt
- Python
- Badania naukowe
- przekwalifikowanie
- nauka
- Naukowcy
- Szukaj
- sedany
- So
- Typ przestrzeni
- historie
- wsparcie
- podpory
- tensorflow
- Testowanie
- Top
- top 5
- Trening
- pociągi
- Pojazdy
- wyobrażanie sobie
- sieć
- X