<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های ثاقب</title>
        <link>https://virgool.io/feed/@saghebk</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-17 03:28:55</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/616046/avatar/LZjNDa.jpg?height=120&amp;width=120</url>
            <title>ثاقب</title>
            <link>https://virgool.io/@saghebk</link>
        </image>

                    <item>
                <title>تجربه مسابقه کگل، 3 چیز که کشف کردم   ...</title>
                <link>https://virgool.io/@saghebk/%D8%AA%D8%AC%D8%B1%D8%A8%D9%87-%D9%85%D8%B3%D8%A7%D8%A8%D9%82%D9%87-%DA%A9%DA%AF%D9%84-3-%DA%86%DB%8C%D8%B2-%DA%A9%D9%87-%DA%A9%D8%B4%D9%81-%DA%A9%D8%B1%D8%AF%D9%85-hogmpywtltwz</link>
                <description>تجربه مسابقه Kaggleمن، 3 چیز که کشف کردم و 3 چیز که دفعه بعد امتحان خواهم کرد. Kaggle (www.kaggle.com) یک سایت میزبان مسابقات است. برای مثال یک رقابت معمولی مانند یافتن یک مدل پیش‌بینی که از یک مجموعه داده شروع می‌شود. برنده کسی است که بهترین مدل را طبق یک مجموعه آزمایشی پیدا کند.(نوشته مارکو فابیانی) نکته جالب این است که Kaggle نه تنها میزبان مسابقات دستگرمی است، بلکه میزبان مشکلات واقعی شرکت هایی است که مایل به پرداخت برای بهترین راه حل ها هستند. و جوایز از چند هزار تا چیزی در حدود 500 هزار برای مسابقات گذشته (همه اطلاعات در وب سایت) است.این یک زمینه کاملاً متفاوت است: دیگر هیچ سوال مقدماتی وجود ندارد، دیگر افراد بی انگیزه با مجموعه داده‌ها بازی نمی‌کنند. در اینجا پول واقعی روی میز است، بازی سخت و سختتر می شود!قبلاً Kaggle را می‌شناختم، در گذشته چند مسابقه دستگرمی انجام دادم تا برخی از الگوریتم‌های یادگیری ماشین را بررسی کنم. در چند سال گذشته به یادگیری عمیق علاقه نشان داده بودم (من به عنوان مدیر تحقیق و توسعه بینایی کامپیوتر کار می کنم و بیش از 20 سال تجربه در شبکه های عصبی دارم، بنابراین یادگیری عمیق برای من یک راه واضح است) و چند هفته قبلتر  متوجه شدم که Kaggle میزبانی مسابقه مرتبط با طبقه بندی تصاویر را دارد. همراه با 56 هزار دلار جایزه. بنابراین وقت آن رسیده بود که وارد میدان شوم و تخصص خود را در مقایسه با گروهی از رقبای بسیار تهاجمی بررسی کنم.با خودم فکر کردم: &quot;من یک متخصص یادگیری عمیق هستم&quot;،  ببینیم در مقایسه با بهترین های جهان در کجا هستم!&quot;.بنابراین من مجموعه داده را دریافت کردم و شروع به بازی با چند مدل یادگیری عمیق استاندارد کردم. من ترجیح دادم به انجمن‌ها نگاه نکنم، معمولاً مملو از نکات خوب، و به تصاویر موجود در مجموعه آزمایشی نگاه نکنم تا تصور درستی از سطح مهارت فعلی‌ام داشته باشم. چند روز بعد از ارائه اولین آزمونم. &quot;1300 شرکت کننده وجود دارد. خوب، مطمئناً من در نیمه بالایی نردبان هستم. شاید در 10٪ بالا، بگذارید ببینیم.&quot;چه شکستی!&quot;خوب، شاید من مهارت‌هایم را در یادگیری عمیق دست‌کم در مقابل بقیه دنیا بیش از حد برآورد کرده‌ام. بیایید کمی به آن بپردازیم.&quot;بنابراین به نامزدم گفتم که در آن آخر هفته روی من حساب نکند و من شروع کردم. زمان بسیار کوتاه بود - من نزدیک زمان پایان به مسابقه ملحق شدم و بدتر از آن، یک سفر کاری برای آخرین هفته موجود برنامه ریزی کرده بودم، بنابراین فقط چند روز فرصت داشتم تا موقعیت خود را بهبود بخشم.بعد از 30  تست ، که یک جفت از آن ها برای آموزش شبکه یک روز طول کشید، موقعیت من حدود 400 با 1400 شرکت کننده بهبود پیدا کرد. من از سفر خود برگشتم و بررسی کردم که چه اتفاقی افتاده است: در حال حاضر من با 1450 شرکت کننده در رتبه 489 هستم. فکر نمی کنم بتوانم تست های بیشتری انجام دهم، رقابت تا 2 روز دیگر به پایان می رسد، بنابراین فکر می کنم در 33 درصد بالای نردبان باقی بمانم. اما من می‌خواهم یافته‌ها و ایده‌هایی را به اشتراک بگذارم که اگر وقت داشتم آنها را آزمایش می‌کردم و مطمئناً با کار طبقه‌بندی تصویر بعدی که Kaggle میزبانی خواهد کرد، تلاش خواهم کرد!3 نکته برای انجام یادگیری عمیق1- از فرم درآوردن تصویر برای افزایش دیتاست.تقویت مجموعه داده ها یک چیز بدیهی در یادگیری عمیق است، و بر طبق تجربه من است، یکی از مهم ترین چیزهایی است که باید درک و اعمال شود. یک رویکرد صحیح در تقویت مجموعه داده به منظور جلوگیری از تطبیق بیش از حد و تعمیم، حیاتی است. برای این مسابقه از چند تکنیک استفاده کردم که برای پروژه های دیگر (واقعی) استفاده کردم. به ویژه متوجه شدم که یک چیز بسیار خوب برای این مشکل نه تنها زوم کردن، چرخاندن  تصویر به صورت تصادفی (همانطور که معمولاً انجام می‌شود) بود، بلکه اعمال تغییر شکل‌های محلی مانند &quot;پینچ&quot;، &quot;پانچ&quot;، &quot;چرخش&quot; بود. و فیلترهای خنده دار دیگری که می توانید در نرم افزارهای فتوشاپ مانند پیدا کنید. این احتمالاً به شبکه کمک کرد تا برخی از الگوهای مرتبط موجود در تصاویر (دست، تلفن، چرخ و غیره) را بهتر تعمیم دهد.اینم یک جور سگه2- نویزنویز کلید یادگیری عمیق است. عجیب به نظر می رسد اما نویز (کنترل شده) در آموزش شبکه های عمیق بسیار مفید است. به طور معمول شما نویز را در تصویر منبع اعمال می کنید، و البته من این کار را انجام دادم، و همچنین یک سری تبدیل های نویز مانند مانند گرادیان نور، تاری تصادفی، انعکاس نور شبیه سازی شده و غیره را هم اعمال کردم. اما این بار چیز دیگری را امتحان کردم: اعمال نویز در خروجی لایه‌های میانی، و فکر می‌کنم این به شبکه کمک می‌کند تا فیلترهای «محکم‌تر» را در لایه‌های میانی پیدا کند. نتیجه نهایی بهبود یافت، اما من وقت نداشتم جزئیات را بررسی کنم تا بفهمم چه اتفاقی افتاده است: تزریق تصادفی نویز در لایه میانی چیزی است که من قطعاً می خواهم بررسی کنم.3) استفاده از لایه های نه چندان سادهمن تقریباً همیشه از پشته‌های لایه‌ها به شکل N تایی (کانولوشن 3*3، strike=1 , pad=1 , ReLU) وبعد استفاده از یک ماکسپول 2*2 استفاده می‌کنم.من تقریباً همیشه از پشته‌های لایه‌ها به شکل N تایی (کانولوشن 3*3، strike=1 , pad=1 , ReLU) وبعد استفاده از یک ماکسپول 2*2 استفاده می‌کنم.انجام max poolingماکس پولینگ چیست؟ادغام یک ویژگی است که معمولاً در معماری شبکه عصبی کانولوشنال(CNN) گنجانده شده است. ایده اصلی پشت یک لایه ادغام، «انباشته کردن» ویژگی‌ها از نقشه‌های تولید شده توسط انحراف یک فیلتر روی یک تصویر است. به طور رسمی، عملکرد آن کاهش تدریجی اندازه فضایی نمایش برای کاهش مقدار پارامترها و محاسبات در شبکه است. رایج ترین شکل Max Poolingاست.تکنیک  Max Pooling موقعی انجام می شود تا با ارائه یک شکل انتزاعی از نمایش، به تطبیق بیش از حد کمک کند. همچنین، هزینه محاسباتی را با کاهش تعداد پارامترهای یادگیری کاهش می‌دهد و بدون تغییر، ترجمه اولیه را برای نمایش داخلی فراهم می‌کند. تکنیک  Max Pooling با اعمال یک فیلتر برای زیرمنطقه های غیر همپوشانی نمایش اولیه انجام می شود. اشکال دیگر ادغام عبارتند از: متوسط، عمومی.در ابتدا از تکرارهای کانولوشون 3*3، ReLU، MaxPool، کانولوشون 3*3، ReLU، MaxPool و ... استفاده می‌کردم. اما متوجه شدم که این معماری آنقدر سطحی است که اجازه کشف رفتارهای جالب را نمی دهد. علاوه بر این، هر فیلتر فقط 3*3 است و به طور معمول برای مشکلات واقعی بسیار کوچک است. با استفاده از تکرارهای کانولوشون 3*3، ReLU، MaxPool، کانولوشون 3*3، ReLU، MaxPool و ... قبل از لایه pooling مانند داشتن فیلترهای بزرگتر است. فیلترکانولوششن 3*3*3 &quot; پنجره ای&quot; از 7*7پیکسل در تصویر است. به دو دلیل مانند استفاده از یک هسته 7*7 نیست: اول، پارامترهای کمتری با استفاده از 3x(3x3 conv) نسبت به تبدیل کانولوشن 7*7 وجود دارد، و دوم اینکه غیرخطی های بیشتری در 3x(3x3 conv) در مقابل یک  ReLU پس از تبدیل کانولوشن  7*7وجود دارد. هر دو چیز خوبی هستند. بنابراین به جای استفاده از هسته های بزرگتر، از پشته های 3x3conv + ReLU استفاده کنید. در این مورد خاص، من با استفاده از 3*(3*3 conv), 2*(3*3 conv)  و همچنین 4*(3*3 conv) قبل از لایه ادغام (pooling) پایان دادم.چه چیزی را می خواهم امتحان کنم؟1- شبکه باقیماندهدر این مورد چیزی نمی توان گفت، من سعی خواهم کرد یک شبکه باقی مانده را پیاده سازی کنم تا ببینم آیا عملکرد بهبود می یابد یا خیر. متأسفانه من فقط رایانه یدکی خود را با کارت گرافیک ارزان قیمت NVidiaبرای این آزمایش ها دارم. بنابراین من مجبور شدم از تصاویر 160x120 به جای 640x480اصلی استفاده کنم. و این مطمئناً بر عملکرد شبکه تأثیر می گذارد. علاوه بر این، مجبور شدم اضافه کردن لایه‌ها را قبل از آنچه احتمالاً لازم بود متوقف کنم. عمیق ترین شبکه آموزش دیده دارای 14 لایه کانولوشن قبل از طبقه بندی کننده است. این می تواند یک مشکل با شبکه های باقی مانده باشد.یک شبکه باقیمانده شامل واحدها یا بلوک های باقیمانده است که دارای اتصالات پرش (skip)هستند که به آنها اتصالات هویتی نیز گفته می شود. خروجی لایه قبلی بعد از آن در بلوک باقیمانده به خروجی لایه اضافه می شود.2- مجموعه داده پویااین چیزی است که من سالهاست به آن فکر می کنم. اگر فرصت پیدا کنم که مدتی را به مطالعه در  آن صرف می کنم. ایده این است که به صورت پویا مجموعه داده را در طول آموزش تغییر دهید. من در مورد نویز یا چیزی مربوط به تغییرات تصویر صحبت نمی کنم. من از تکثیر/سرکوب داده ها یا تخصیص مجدد کلاس داده ها صحبت می کنم. یک ایده برای مثال تکرار موارد پرت به منظور &quot;اجبار&quot; کردن شبکه به یادگیری آنها، یا سرکوب نمونه های به خوبی توسط شبکه آموخته شده اند به منظور انعطاف پذیری برای یادگیری موارد دشوار است و زمانی که مثال های سرکوب شده چندان خوب نیستند، دوباره ، آنها را شناسایی می کنید.3- لایه conv را برای مناطق جداگانه در تصویر جدا کنید.این موضوعی است که به طور خاص از زمانی که با مشکلات رانندگی خودکار درافتادم  به آن فکر می کنم. در بسیاری از پروژه ها ، تصاویر داده شده ، &quot;ایزوتروپیک&quot; نیست. برای مثال، تصاویری که از دوربین‌های خودرو به دست می‌آیند، دارای «مناطق» کاملاً مشخصی هستند. بالا آسمان است، پایین جاده، چپ و راست خطوط و غیره هستند. شما چراغ راهنمایی را در مرکز خط پیدا نخواهید کرد (نه همیشه)، شما تمایل دارید آن را در بالای جاده یا کنار آن پیدا کنید. در مورد رقابت Kaggleهم همینطور است: همه تصاویر با راننده در سمت چپ و فرمان در سمت راست است و بنابراین شما دست راننده را معمولاً در سمت راست و نه در سمت چپ خواهید یافت، اما شما سر را در سمت راست و نه برای مثال بیرون از پنجره پیدا می کند. بنابراین می‌توانید در زمان محاسباتی در تقسیم تصویر در مناطق صرفه‌جویی کنید و از لایه‌های کانولوشنال با فیلترهای کمتر متمرکز بر مناطق مختلف استفاده کنید. می‌توانید انتظار داشته باشید که به فیلترهای کمتری برای کدنویسی آنچه در این مناطق خواهید یافت نیاز داشته باشید. این می تواند به دستورالعمل &quot;یک فیلتر برای همه عکسها&quot; اضافه شود. نمی دانم که این شیوه آخری جواب خواهد داد یا نه اما بالاخره به امتحانش می ارزد.</description>
                <category>ثاقب</category>
                <author>ثاقب</author>
                <pubDate>Sat, 08 Jul 2023 19:20:42 +0330</pubDate>
            </item>
                    <item>
                <title>نرم افزار ذخیره سازی چهره</title>
                <link>https://virgool.io/@saghebk/%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%DA%86%D9%87%D8%B1%D9%87-waqj8vfocan3</link>
                <description>پردازش تشخیص چهره به یک پایگاه داده زمان واقعی همراه با حافظه کوچک و پرقدرت نیاز دارد.نرم افزار پایگاه داده ذخیره سازی چهره: مساله و حلمشکل نرم افزار ذخیره سازی چهره:فناوری تشخیص چهره ذاتاً با داده های فشرده کار می کند، برای شناسایی یک شخص، یک سیستم باید میلیون ها اندازه گیری دقیق را ایجاد کند، آنها را با یک الگوی صورت ذخیره شده در اندازه چندین مگابایت مقایسه کند، و فوراً اجازه دهد یا دسترسی را لغو کند.راه حل:یک سیستم پایگاه داده بلادرنگ با ردپای حافظه کوچک می‌تواند تشخیص‌های حساس را انجام دهد. گزینه های ذخیره سازی در حافظه اصلی یا فلش به طراحان محصول انعطاف پذیری می دهد تا ذخیره سازی را بر اساس عملکرد، هزینه و فرم مورد نظر پیکربندی کنند.شناخت نیازهای اپلیکیشن سازمانیانتخاب ترکیبی از سخت‌افزار و نرم‌افزار پایگاه داده بی‌درنگ در دسترس تجاری، تصمیمی است که تقریباً هر طراح سیستم‌های جاسازی شده باید اتخاذ کند. به ویژه هنگام طراحی سیستم‌های تشخیص چهره، مهندسان محصولات پایگاه داده‌ای را به کار میبرند که نیازهای مختلف سیستم‌های تعبیه‌شده مورد استفاده در برنامه‌های کاربردی سازمانی بلادرنگ را برآورده کند. شرکتهای L-1 Identity Solutionsí Bioscrypt Division با McObject و Texas Instruments (TI) برای رسیدگی به چالش‌های ایجاد یک سیستم تشخیص چهره همکاری کرده اند. Bioscryptبا استفاده از پایگاه داده جاسازی شده McObject eXtremeDB Fusion همراه با یک پردازشگر رسانه دیجیتال TI TMS320DM6446، یک محصول چهره خوان کوچک و با کارایی بالا توسعه داد.چهره خوان سه بعدی VisionAccess می تواند تا 60000 الگوی صورت را ذخیره کند و هویت یک فرد را در کمتر از یک ثانیه تأیید کند. این سیستم وظایف محاسباتی کلیدی از جمله پردازش تصویر و جستجوی چهره و تطبیق روی دستگاه را انجام می دهد و سرور صنعتی پشتیبان آن را حذف می کند.استفاده از پلتفرم تعبیه‌شده باعث صرفه‌جویی در هزینه‌های حمل و نقل، کاهش پیچیدگی نصب در حداقل فضا می‌شود. برای مثال این فناوری امنیتی در مکان‌های کاری پرترافیک مانند هتل ونیزی ماکائو-رزورت در آسیا، که از چهره‌خوان‌ها برای احراز هویت 12000 کارمند خود استفاده می‌کند، با موفقیت به کار گرفته شده است.این پروژه نشان می‌دهد که چگونه مزایایی مانند عملکرد، سهولت توسعه، اندازه کوچک و هزینه‌های تولید پایین اغلب در اوایل زندگی محصول تضمین می‌شوند. اگرچه بسیاری از دستگاه‌ها از طریق اینترنت به هم متصل هستند، داشتن یک پایگاه داده محلی که به اندازه کافی سریع و انعطاف‌پذیر باشد تا گزینه‌های پیکربندی زیادی را که در سیستم‌های محاسباتی تعبیه شده وجود دارد، برآورده کند، ضروری است.حفظ ارتباط ایمن با راه حل های سازمانی نوظهور برای موفقیت آینده بسیار مهم است.</description>
                <category>ثاقب</category>
                <author>ثاقب</author>
                <pubDate>Fri, 20 Jan 2023 21:00:26 +0330</pubDate>
            </item>
                    <item>
                <title>240 هرتز در مقابل 144 هرتز: کدام یک را باید انتخاب کنید؟</title>
                <link>https://virgool.io/@saghebk/240-%D9%87%D8%B1%D8%AA%D8%B2-%D8%AF%D8%B1-%D9%85%D9%82%D8%A7%D8%A8%D9%84-144-%D9%87%D8%B1%D8%AA%D8%B2:-%DA%A9%D8%AF%D8%A7%D9%85-%DB%8C%DA%A9-%D8%B1%D8%A7-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%DA%A9%D9%86%DB%8C%D8%AF%D8%9F-hu6zlzoujmi8</link>
                <description>یک مانیتور 240 هرتز تصاویری روان را با یک حرکت نرم به شما ارائه می دهد، در حالی که 144 هرتز نرخ تازه سازی بالایی را برای عملکرد فوق العاده سریع به شما ارائه می دهد. اگر می‌خواهید بازی‌ها را روی رایانه شخصی خود بازی کنید، این یک تمایز مهم است!240 هرتز در مقابل 144 هرتز، احتمالاً بیشترین بحث در بین علاقه مندان به بازی در حال حاضر است.بیایید با یک مانیتور 144 هرتز شروع کنیم. 144 هرتز نرخ تازه سازی است که به یک استاندارد صنعتی در مانیتورهای بازی مدرن 144 هرتزی تبدیل شده است. 144 هرتز به این معنی است که مانیتور شما 144 سیکل در ثانیه دارد. این به 144 هرتز ترجمه شده است، یعنی 144 fps (frames per second) (فریم در ثانیه). مانیتورهای 144 هرتزی گرانتر از مانیتورهای 60 هرتزی هستند. مانیتور 144 هرتزی برای بازی های رقابتی یا برای کسانی که به طور کلی دوست دارند در سطح بالایی بازی کنند عالی است. آنها کیفیت رنگ بهتر و حرکات سریع تری را ارائه می دهند.مانیتورهای 240 هرتزی نسل جدید مانیتور های 144 هرتزی هستندکه تفاوت قابل توجهی با نسل قبل دارتد. در ابتدا، 144 هرتز نسبت به 60 هرتز پیشرفت چشمگیری داشت. با این حال، پس از 144 هرتز، سازندگان راه‌های بهتری برای تازه‌سازی مانیتورهای مدرن با سرعت 240 بار در ثانیه (240 هرتز) پیدا کردند و اکنون وارد عصر مانیتورهای 240 هرتزی شده‌ایم.هرتز چیست؟هرتز واحدی است که برای اندازه گیری سیکل در ثانیه استفاده می شود. 144 هرتز به این معنی است که 144 بار در ثانیه یک تصویر جدید روی صفحه، نمایش داده می شود، در حالی که 240 هرتز به معنای دو برابر شدن این تعداد در هر ثانیه است. نرخ تازه‌سازی صفحه نمایش تعداد فریم‌هایی که در هر ثانیه نمایش داده می‌شود را اندازه‌گیری می‌کند تا یک بازی، روان و نرم باشد.تعداد هرتز بالاتر به این معنی است که در هر ثانیه تصاویر بیشتری دریافت می کنید. این باعث می شود صفحه نمایش روان تر شود. تعداد هرتز بالاتر نرخ تازه سازی صفحه نمایش شما را بیشتر می کند که در هنگام بازی اهمیت دارد و شاهد حرکات بازی نرمتری خواهید بود.آیا اصلا عدد هرتز بالاتر تجربه بازی شما را بهبود می دهد؟این سوال خوبی است. بسیاری از مردم می خواهند این را بدانند. من به شما خواهم گفت که چگونه عدد هرتز تجربه بازی شما را بهتر یا بدتر می کند.تعداد هرتز یک مانیتور در هنگام بازی مهم است. تعداد هرتز بیشتر، صفحه نمایش شما را نرمتر می‌کند که در بازی‌های سریع مانند تیراندازی اول شخص یا بازی‌های مسابقه‌ای اهمیت دارد.نرخ هرتز بالا، گیم پلی روانی را ارائه می دهد و تاری حرکتی را که می تواند با نرخ تازه سازی کندتر رخ دهد، کاهش می دهد.عدد هرتز بالاتر کار را برای گیمرهایی که می خواهند صفحه نمایششان صاف و شفاف باشد، آسان تر می کند.نتیجه گیری:مانیتور 240 هرتزی برای گیمرهای هاردکور یا حرفه ای FPS یک ارتقاء شایسته است، اما نرخ رفرش 144 هرتز باید برای گیمرهای معمولی کافی باشد. تصمیم در مورد اینکه کدام یک را بخرید تا حد زیادی به ترجیح شخصی شما بستگی دارد.</description>
                <category>ثاقب</category>
                <author>ثاقب</author>
                <pubDate>Fri, 20 Jan 2023 20:56:10 +0330</pubDate>
            </item>
            </channel>
</rss>