עזרה להגן על שונית המחסום הגדולה עם TensorFlow על Kaggle הצטרפו אתגר

זרימת טנסור :: אופ :: FixedUnigramCandidateSampler

#include <candidate_sampling_ops.h>

מייצר תוויות לדגימת מועמדים עם התפלגות אונגרם נלמדת.

סיכום

מדגם Unigram יכול להשתמש בהפצת Unigram קבועה שקוראת מקובץ או מועברת כמערך בזיכרון במקום לבנות את ההפצה מנתונים בזמן אמת. יש גם אפשרות להטות את החלוקה על ידי הפעלת כוח עיוות למשקולות.

על קובץ אוצר המילים להיות בפורמט דמוי CSV, כאשר השדה האחרון הוא המשקל המשויך למילה.

עבור כל אצווה, אפשרות זו בוחרת קבוצה אחת של תוויות מועמדים שנדגמו.

היתרונות של דגימת מועמדים לכל אצווה הם פשטות ואפשרות לכפל מטריקס צפוף יעיל. החיסרון הוא שיש לבחור את המועמדים שנדגמו ללא תלות בהקשר ובתוויות האמיתיות.

טענות:

  • היקף: אובייקט Scope
  • true_classes: מטריצת batch_size * num_true, שבה כל שורה מכילה את המזהים של מספר_ target_classes מספר_תווית בתווית המקורית המתאימה.
  • מספר_אמת: מספר התוויות האמיתיות לכל הקשר.
  • מספר_מדגם: מספר המועמדים לדגימה אקראית
  • ייחודי: אם ייחודי הוא נכון, אנו מדגמים עם דחייה, כך שכל המועמדים שנדגמו באצווה יהיו ייחודיים. זה דורש קירוב מסוים כדי לאמוד את ההסתברות לדגימה לאחר הדחייה.
  • range_max: הדגימה תדגום מספרים שלמים מהמרווח [0, range_max).

תכונות אופציונליות (ראה Attrs ):

  • vocab_file: כל שורה חוקית בקובץ זה (שאמורה להיות בפורמט דמוי CSV) תואמת לזהות מילה חוקית. המזהים הם בסדר רציף, החל מ- num_reserved_ids. הערך האחרון בכל שורה צפוי להיות ערך המתאים לספירה או להסתברות יחסית. בדיוק אחד מ- vocab_file ו- unigrams צריך לעבור לאופציה זו.
  • עיוות: העיוות משמש להטיית התפלגות ההסתברות של יוניגרם. כל משקל מועלה תחילה לעוצמת העיוות לפני שהוא מוסיף להתפלגות האוניגרם הפנימית. כתוצאה מכך, עיוות = 1.0 נותן דגימת Unigram רגילה (כהגדרת קובץ vocab), ועיוות = 0.0 נותן התפלגות אחידה.
  • num_reserved_ids: באופן אופציונלי ניתן להוסיף מספר מזהים שמורים בטווח [0, ..., num_reserved_ids) על ידי המשתמשים. מקרה שימוש אחד הוא שאסימון מילה לא ידוע מיוחד משמש כמזהה 0. מזהים אלה יהיו בעלי הסתברות דגימה של 0.
  • num_shards: ניתן להשתמש בדגימה לדגימה מתת-קבוצה של הטווח המקורי על מנת להאיץ את כל החישוב באמצעות מקבילות. פרמטר זה (יחד עם 'שבר') מציין את מספר המחיצות המשמשות בחישוב הכולל.
  • שבר: ניתן להשתמש בדגימה לדגימה מתת-קבוצה של הטווח המקורי על מנת להאיץ את כל החישוב באמצעות מקבילות. פרמטר זה (יחד עם 'num_shards') מציין את מספר המחיצה המסוים של sampler op כאשר משתמשים במחיצות.
  • unigrams: רשימה של ספירות Unigram או הסתברויות, אחת לכל מזהה בסדר רציף. בדיוק אחד מקבצי vocab_file ו- unigrams צריך לעבור לאופציה זו.
  • זרע: אם זרעים או זרעים 2 מוגדרים כלא אפסיים, מחולל המספרים האקראיים נזרע על ידי הזרע הנתון. אחרת, הוא נזרע על ידי זרע אקראי.
  • seed2: זרע שני כדי למנוע התנגשות זרעים.

החזרות:

  • Output sampled_candidates: וקטור באורך num_sampled, שבו כל אלמנט הוא המזהה של מועמד שנדגם.
  • Output נכון_צפוי_ספירה: מטריצה ​​אצווה_גודל * מספר_אמיתית, המייצגת את מספר הפעמים שכל מועמד צפוי להתרחש אצווה של מועמדים שנדגמו. אם ייחודי = נכון, זוהי הסתברות.
  • Output sampled_expected_count: וקטור באורך num_sampled, עבור כל מועמד שנדגם המייצג את מספר הפעמים שהמועמד צפוי להתרחש במערך מועמדים שנדגמו. אם ייחודי = נכון, זוהי הסתברות.

קונסטרוקטורים ומשחתנים

FixedUnigramCandidateSampler (const :: tensorflow::Scope & scope, :: tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max)
FixedUnigramCandidateSampler (const :: tensorflow::Scope & scope, :: tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max, const FixedUnigramCandidateSampler::Attrs & attrs)

תכונות ציבוריות

operation
sampled_candidates
sampled_expected_count
true_expected_count

פונקציות סטטיות ציבוריות

Distortion (float x)
NumReservedIds (int64 x)
NumShards (int64 x)
Seed (int64 x)
Seed2 (int64 x)
Shard (int64 x)
Unigrams (const gtl::ArraySlice< float > & x)
VocabFile (StringPiece x)

סטרוקטורים

tensorflow :: ops :: FixedUnigramCandidateSampler :: Attrs

קובעי תכונות אופציונליים עבור FixedUnigramCandidateSampler .

תכונות ציבוריות

מבצע

Operation operation

מועמדים מדוגמים

::tensorflow::Output sampled_candidates

מספר מדגם_צפוי_

::tensorflow::Output sampled_expected_count

מספר_אמיתי_צפוי

::tensorflow::Output true_expected_count

פונקציות ציבוריות

FixedUnigramCandidateSampler

 FixedUnigramCandidateSampler(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input true_classes,
  int64 num_true,
  int64 num_sampled,
  bool unique,
  int64 range_max
)

FixedUnigramCandidateSampler

 FixedUnigramCandidateSampler(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input true_classes,
  int64 num_true,
  int64 num_sampled,
  bool unique,
  int64 range_max,
  const FixedUnigramCandidateSampler::Attrs & attrs
)

פונקציות סטטיות ציבוריות

עיוות

Attrs Distortion(
  float x
)

NumReservedIds

Attrs NumReservedIds(
  int64 x
)

NumShards

Attrs NumShards(
  int64 x
)

זֶרַע

Attrs Seed(
  int64 x
)

זרע 2

Attrs Seed2(
  int64 x
)

חֶרֶס

Attrs Shard(
  int64 x
)

יוניגרמים

Attrs Unigrams(
  const gtl::ArraySlice< float > & x
)

VocabFile

Attrs VocabFile(
  StringPiece x
)