මෙය PyTorch ක්රියාත්මක කිරීම/නිබන්ධනයකි නොපැහැදිලි ටයිලිං සක්රීය කිරීම්: අන්තර්ජාලය හරහා විරල නිරූපණ ඉගෙන ගැනීම සඳහා සරල ප්රවේශයකි .
නොපැහැදිලිටයිල් සක්රිය කිරීම් යනු බයිනිං මත පදනම් වූ විරල ක්රියාකාරිත්වයකි.
Binningයනු කාල අන්තරයන් මත පදනම්ව පරිමාණ අගයක් බඳුනකට වර්ගීකරණය කිරීමයි. බින්ටින් කිරීමේ එක් ගැටළුවක් නම්, එය බොහෝ අගයන් සඳහා ශුන්ය අනුක්රමික ලබා දෙයි (බදුන් මායිමේ හැර). අනෙක බින් කාල පරතරයන් විශාල නම් බින්නිං නිරවද්යතාව නැති වීමයි.
වෙළෙඳගිවිසුමක් මෙම අවාසි ජය. ටයිල් ඇක්ටිවේෂන් වලදී මෙන් දෘඩ සීමාවන් වෙනුවට, එෆ්ටීඒ බඳුන් අතර මෘදු මායිම් භාවිතා කරයි. මෙය සියලු හෝ පුළුල් පරාසයක අගයන් සඳහා ශුන්ය නොවන අනුක්රමික ලබා දෙයි. තවද එය අර්ධ අගයන් වලින් අල්ලා ගන්නා බැවින් නිරවද්යතාවය නැති නොවේ.
ටයිල් දෛශිකය,
ආදානපරාසය කොහේද, බින් ප්රමාණය වන අතර එය බෙදිය හැකිය.
ටයිල්සක්රිය කිරීම,
ආදානයධනාත්මක සහ වෙනත් ආකාරයකින් නම් ලබා දෙන දර්ශක ශ්රිතය කොහේද?
එයදුෂ්කර සීමාවන් ඇති බැවින් ටයිල් සක්රිය කිරීම ශුන්ය අනුක්රමික ලබා දෙන බව සලකන්න.
මෙමනොපැහැදිලි දර්ශකයක් කාර්යය,
එයරේඛීයව සිට කවදාද දක්වා වැඩි වන අතර එය සමාන වේ . යනු අධි පරාමිතියකි.
බඳුන්අතර මෘදු මායිම් නිර්මාණය කිරීමට FTA මෙය භාවිතා කරයි.
ට්රාන්ස්ෆෝමරයක් තුළ FTA භාවිතා කරන සරල අත්හදා බැලීමක් මෙන්න .
62import torch
63from torch import nn66class FTA(nn.Module):lower_limit
පහළ සීමාව වේ upper_limit
ඉහළ සීමාව වේ delta
බඳුනේ ප්රමාණය eta
සීමාවල මෘදු බව detemines බව පරාමිතිය වේ. 71 def __init__(self, lower_limit: float, upper_limit: float, delta: float, eta: float):78 super().__init__()දෛශිකටයිල් කිරීම ආරම්භ කරන්න
81 self.c = nn.Parameter(torch.arange(lower_limit, upper_limit, delta), requires_grad=False)ආදානදෛශිකය බඳුන් සංඛ්යාවට සමාන සාධකයක් මගින් පුළුල් වේ
83 self.expansion_factor = len(self.c)85 self.delta = delta87 self.eta = eta89 def fuzzy_i_plus(self, x: torch.Tensor):95 return (x <= self.eta) * x + (x > self.eta)97 def forward(self, z: torch.Tensor):ප්රමාණයේතවත් මානයක් එක් කරන්න . අපි මෙය බඳුන් බවට පුළුල් කරන්නෙමු.
100 z = z.view(*z.shape, 1)103 z = 1. - self.fuzzy_i_plus(torch.clip(self.c - z, min=0.) + torch.clip(z - self.delta - self.c, min=0.))මුල්මානයන් ගණනට නැවත හැඩගස්වා ගන්න. අවසාන මානයන් ප්රමාණය බඳුන් ගණන අනුව පුළුල් වේ,.
107 return z.view(*z.shape[:-2], -1)110def _test():114 from labml.logger import inspectආරම්භකරන්න
117 a = FTA(-10, 10, 2., 0.5)මුද්රණය
119 inspect(a.c)බඳුන්ගණන මුද්රණය කරන්න
121 inspect(a.expansion_factor)ආදානය
124 z = torch.tensor([1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9., 10., 11.])මුද්රණය
126 inspect(z)මුද්රණය
128 inspect(a(z))
129
130
131if __name__ == '__main__':
132 _test()