بایگانی برچسب: s

استفاده از APIهای ChatGPT به صورت کاملا رایگان!

سلب ادعا: این مطلب صرفا آموزشی بوده و هرگونه استفاده غیرقانونی از دانش به اشتراک گذاشته شده در این مطلب، بر عهده خواننده خواهد بود. 

احتمالا شما هم دوست داشتید که از APIهای OpenAI استفاده کنید ولی هزینه‌های بالایی داشته و اونطوری که باید و شاید، نتونسته شما رو راضی کنه. در این پست، می‌خوام یک راهکار بهتون نشون بدم که به صورت «کاملا رایگان» بتونید از این APIها استفاده کنید. فقط یادتون باشه که این روش رو فقط برای مصارف شخصی استفاده کنید، چون اگر ببریدش روی محصول، ممکنه دردسرساز بشه براتون.

این رو هم بگم که این مطلب، مطلبیه شدیدا برنامه‌نویسانه و خب برخلاف مطالب قبلی که یکم مخاطب عام‌تری داشت، نیاز به کمی دانش پایه برنامه‌نویسی داره.

پیش‌نیازها

برای این که از این آموزش استفاده کنیم، نیاز داریم این موارد رو بلد باشیم:

  • آشنایی پایه با APIها و این که چطور کار می‌کنند (می‌تونید یکی از مطالب قدیمی من رو بخونید)
  • آشنایی اجمالی با پایتون

همین؟ بله همین!

شروع به کار

نصب کتابخانه‌های مربوطه

مثل هر پروژه دیگری، ابتدا نیاز داریم تا کتابخانه‌ها و چارچوب‌های مربوط به اون رو، روی سیستم خودمون نصب کنیم. چون این پروژه پایتونیه، از ابزار pip استفاده خواهیم کرد.

اما قبل از اون، بهتره یک محیط مجازی پایتون ایجاد کنیم:

virtualenv -ppython3 .venv

بعد از اون، وقتشه که فعالش کنیم:

source .venv/bin/activate

دقت کنید این پروسه فعال‌سازی، در ویندوز کمی متفاوت از مک و لینوکسه که با یک سرچ ساده، می‌تونید بهش برسید. البته توصیه شخصیم اینه که روی ویندوز هم از WSL استفاده کنید که بدون مشکل تمامی کدهایی که در این پست قرار دادم، براتون اجرا بشه (چون هم روی لینوکس، هم مک و هم WSL تستشون کردم).

بعد از فعالسازی، ترمینال شما به این شکل درمیاد:

(venv) ~:$

این به این معناست که محیط مجازی پایتون، اجرا شده و میشه بدون مشکل ازش استفاده کرد.

حالا وقتشه که کتابخونه‌های openai و g4f رو نصب کنیم:

pip install "g4f[all]" openai

این دو کتابخونه، دقیقا تنها چیزهایی هستند که ما نیاز داریم!

حالا g4f چیه؟

عبارت g4f مخفف gpt4free و بازی با عبارت gpt for free یعنی «جی‌پی‌تی رایگان»ئه! حالا این کتابخونه چه کاری می‌کنه که gpt رایگان به ما می‌رسونه؟ 😁

کاری که این کتابخونه می‌کنه، اینه که میاد و از providerهای مختلفی که داره (بعضیا مثل Airforce/OpenRouter با خواست خودشون البته در اختیارش قرار دادند) استفاده می‌کنه و به شما امکان استفاده از مدل‌های متنوع هوش مصنوعی مثل GPT, Claude, Mistral و … رو میده. در واقع یک «تلاش برای دمکراتیزه کردن هوش مصنوعی» در نوع خودش می‌تونه محسوب بشه.

و خب نه فقط چت‌بات، که APIهای تولید تصویر (بخصوص با مدل Dall-E) رو هم پشتیبانی درستی داره می‌کنه! اما حقیقتش رو بخواهید، مدل‌های تصویرش به شدت محدودن و بهتره که به همین متنی‌ها قناعت بورزیم 😁

چرا به OpenAI نیاز داریم؟

این هم سوال خوبیه. مگه نگفتیم قرار نیست از خود OpenAI یا سایر فراهم‌کنندگان APIهاش سرویس بگیریم؟ درسته. ولی نیاز داریم به کتابخونه پایتونیش برای این که بتونیم از API لوکالمون استفاده کنیم!

راه‌اندازی API لوکال

خب الان وقتشه یک پنجره ترمینال جدید باز کنید، طبق چیزی که گفته شد، محیط مجازی رو فعال کنید و سپس تایپ کنید:

g4f api

بعدش enter بزنید و صبر کنید تا API بیاد بالا. وقتی API بیاد بالا چنین صحنه‌ای می‌بینید:

و تبریک، API ما قابل استفاده‌ست.

نوشتن کد پروژه

این همه توضیح دادیم تا برسیم به بخش جذاب ماجرا، که نوشتن کدهای پروژه‌مونه!

اول لازم داریم تا کتابخونه‌های لازم رو به پروژه اضافه کنیم:

from openai import OpenAI

این قطعه کد، میاد و کلاس OpenAI رو از کتابخونه openai برای ما در پروژه لود می‌کنه.

بعدش نیاز داریم یک کارخواه OpenAI درست کنیم:

client = OpenAI(
 api_key = "FAKE", 
 base_url = "http://localhost:1337/v1"
)

خب یک توضیحی بدم، کتابخونه OpenAI بدون API Key کار نمی‌کنه. به همین خاطر یک مقدار بی‌خود (در اینجا عبارت FAKE) رو وارد کردیم. در قسمت Base URL هم آمدیم و به این کتابخونه فهموندیم که به جای این که به APIهای خود OpenAI متصل بشه، به لوکال هاست ما متصل بشه.

در واقع کل کار رو اینجا انجام دادیم و حالا مونده یک مرحله! اون هم اینه که یک چت با مدل مورد نظر بسازیم:

response = client.chat.completions.create(
 model = "gpt-4o", 
 messages = [
   {
     "role" : "user",
     "content" : "Hello"
   }
  ],
)

و همونطوری که می‌بینید فرمت پیام‌های ما، فرمت چت و اسم مدلمون هم gpt-4o گذاشتیم. البته امکان استفاده از مدل‌های دیگر هم هست ولی اینجا با gpt-4o کار داشتیم 😁

و حالا وقتشه که نتیجه رو  در ترمینال ببینیم:

print(response.choices[0].message.content)

و تمام!

کد کامل

کد کامل این پروژه هم به این شکل خواهد شد:

from openai import OpenAI

client = OpenAI(
 api_key = "FAKE", 
 base_url = "http://localhost:1337/v1"
)

response = client.chat.completions.create(
 model = "gpt-4o", 
 messages = [
   {
     "role" : "user",
     "content" : "Hello"
   }
  ],
)

print(response.choices[0].message.content)

ملاحظات قانونی

احتمالا شما هم الان نگران این هستید که این نوع استفاده، می‌تونه برای شما دردسر قانونی درست کنه. حقیقتش رو بخواهید خیر. این کتابخونه (و سایر کتابخونه‌های مشابه) می‌تونن کاملا قانونی باشن اگر شما از مدل‌های اوپن سورس موجود استفاده کنید.

مثلا من پیشنهاد می‌کنم برای خیلی از پروژه‌هایی که با g4f قراره بسازید از mixtral-8x22b استفاده کنید. هم خوبه، هم اوپن سورسه و هم فارسی می‌فهمه. یا مثلا llama-3.1-70b و llama-3.1-405b و …

در کل میخوام بگم که می‌تونیم این موضوع رو کاملا درست و قانونی هم در دستان خودمون داشته باشیم و لذت هم ببریم 😎

جمع‌بندی

در دنیای امروز که ابزارها دارند حرف اول رو می‌زنن، خیلی مهمه که بدونیم چطور می‌تونیم به ابزار خوب برسیم. این پست، یکی از اهدافش این بود که به شما نشان بده ابزارهای خوب رایگان هم وجود دارند که شما بتونید بدون مشکل، باهاشون کار کنید.

احتمالا در آینده، باز هم ابزار یا API خوب در حوزه هوش مصنوعی و بخصوص هوش مصنوعی زایا (Generative AI) معرفی کنم. امیدوارم که موفق و موید باشید و این آموزش به دردتون خورده باشه.

ضمنا، لطفا از مدل‌های تجاری به صورت غیرقانونی استفاده نکنید 😁

Share

استفاده از LLMها بعنوان سیستم‌عامل، آیا با نسل جدیدی از سیستم‌های عامل روبرو خواهیم شد؟

در یکی دو سال گذشته، هوش مصنوعی زایا یا همون Generative AI به شکل عجیب و غریبی رشد پیدا کرده و در تقریبا تمام عرصه‌ها از تولید متن، تصویر، موسیقی و حتی ویدئو و فایل‌های سه‌بعدی، استفاده‌های جالبی ازش شده. همچنین باید گفت که تقریبا حجم بسیار زیادی از این توجه، بخاطر ارائه ناگهانی ChatGPT بود و بعد از اون هم مدل‌های اوپن سورسی مثل لاما (و فرزندانش!).

در دنیای تولید چندرسانه‌ای هم که ناگفته نماند، مدل‌هایی مانند Stable Diffusion یا مانی، تا حد خوبی توجه مردم رو به خودشون جلب کردند و علاوه بر این که مورد توجه مردم عادی بودند، مورد توجه بازی‌سازان، طراحان و … هم قرار گرفتند و این خودش یعنی پذیرش ابزارهای جدید، چه بخواهیم و چه نخواهیم، صورت خواهد گرفت.

اما جای یک چیزی این وسط خالیه، اون هم اینه که «سیستم‌عامل» که شاید قدیمی‌ترین مفهوم زنده در رایانش شخصی بوده، چه تغییراتی رو برای پذیرش ابزارهای هوش مصنوعی، متحمل خواهد شد؟

سیستم‌عامل چیست؟

سیستم‌عامل یک لایه از نرم‌افزارهای سیستمیه که ارتباط بین سخت‌افزار و کاربر رو فراهم می‌کنه. در واقع تصور کنید اگر روی گوشی همراه شما iOS یا اندروید نباشه. یا مثلا لپتاپ و سیستم خانگی شما، مجهز به ویندوز یا مک یا لینوکس نباشه. چه استفاده‌ای ازشون میشه کرد؟ عملا هیچ.

در واقع سیستم‌عامل میشه بستری که ما بتونیم نرم‌افزارهای مختلف مثل فتوشاپ، تلگرام، آفیس، فایرفاکس و … رو اجرا کنیم و به نوعی تسهیل‌گر ارتباط بین نرم‌افزارها با منابع در دسترسشون میشه. حالا که می‌دونیم سیستم‌عامل چیه، یکم اون رو بشکافیم.

سفر به اعماق گنو/لینوکس

احتمالا اسم «لینوکس» یا «گنو/لینوکس» یا «اوبونتو» و امثالهم، به گوشتون خورده، نه؟ اگر از خوانندگان بلاگ من باشید که بیشتر از این‌ها به گوش شما خورده و احتمالا از BSD و Solaris و OpenIndiana و … هم خوندید 😁

گنو/لینوکس یک سیستم‌عامل کامله که از دو بخش تشکیل شده: گنو و لینوکس! حالا گنو چیه و لینوکس چیه؟ با هم بررسی می‌کنیم.

  • لینوکس: یک هسته یا کرنله که در ابتدای دهه ۹۰ میلادی، توسط شخص شخیص لینوس بندیکت تروالدز که در اون زمان ۲۱ سالش بوده، ساخته شده. این هسته سیستم عامل (kernel) وظیفه‌ش مدیریت فرایندها و سخت‌افزاره. در واقع این هسته، میاد می‌شینه وسط سیستم‌عامل و اون تعامل لازم رو با سخت‌افزار و فرایند‌ها برای ما تسهیل می‌کنه.
  • گنو: مجموعه‌ای از ابزارهاست که بعنوان بخشی از جنبش نرم‌افزار آزاد در سال ۱۹۸۳ میلادی به رهبری ریچارد متیو استالمن ساخته شده. گنو، سیستم‌عاملی بود استالمن به عنوان یک اکت اعتراضی نسبت به سیاست‌های AT & T در قبال کد منبع یونیکس، شروع به ساختش کرد.

حالا گنو/لینوکس چیه؟ خیلی ساده بخواهیم بگیم، گنو یک سری ابزارهای مورد نیاز کاربره و در فضای کاربر یا User Space اجرا میشه. اگر دوست دارید بیشتر در موردش بدونید، می‌تونید مستندات گنو و استانداردهای مربوطه رو مطالعه کنید.

ولی خب بذارید یکم ساده‌ترش کنیم. فرض کنیم که ما یک هسته سیستم‌عامل داریم که داره به خوبی و خوشی، با سخت‌افزار ارتباط می‌گیره و کارش رو می‌کنه. اما نیاز داریم که یوزر بتونه از طریقی، فرایندهای مد نظر خودش یا همون «برنامه‌»ها رو اجرا کنه. به همین خاطر نیاز به یک «پوسته» یا shell هم داریم. مثلا گنو، یک ابزار بسیار خوبی داره به نام bash که این کار رو انجام می‌ده.

از طرفی، اصلا وقتی برنامه رو نوشتیم، با چی باید اجراش کنیم؟ اینجا ابزارهایی مثل GNU Binutils خودشون رو نشون میدن. البته لازم به ذکره که با ابزارهایی مثل GNU Compiler Collection یا GCC هم برنامه‌ها رو می‌تونیم بسازیم.

خب الان فهمیدیم که کاربر، نیاز به فضای مختص خودش روی سیستم‌عامل داره. برای این که بتونه برنامه‌ها رو اجرا کنه، بسازه و تغییرشون بده. گذشته از این برای بررسی و پردازش بیشتر داده‌هایی که از شبکه میاد، داده‌هایی که در فرم‌های خاصی مثل تصویر و … داریم و …؛ نیاز داریم که این فضای کاربر رو داشته باشیم.

پس هوش مصنوعی چه؟ از آن نور وارد می‌شود

خب اینجا جا داره که ما بریم و کمی با مفاهیم و مطالب مربوط به هوش مصنوعی آشنا شیم.

چرا که احتمالا شما تا الان دارید پیش خودتون فکر می‌کنید که خب احتمالا این مطلب در مورد یک کلاینته که برای ابزارهای هوش مصنوعی نوشته شه و روی سیستم‌عامل ما نصب شه.

خیلی بی‌راه فکر نمی‌کنید البته، ولی بیایید کمی ابتدا LLMها رو بشناسیم و بعد بریم سراغ این که LLM OS یا «سیستم‌عامل مدل زبانی بزرگ» چطور کار خواهد کرد برامون 🙂

شناخت بهتر LLMها

قبلا در پست مربوط به مارال ۷ میلیارد پارامتری (لینک) و پستی که درش از چیرگی زبان انگلیسی روی دنیای AI شکایت و گله کرده بودم (لینک) در مورد LLMها صحبت کردم. اما بهتره که کمی در موردشون بیشتر با هم بدونیم.

LLM چیست؟

مدل‌های زبانی بزرگ (به انگلیسی Large Language Model) مدل‌ها و ابزارهای مبتنی بر هوش مصنوعی هستن که با تکنیک‌های یادگیری عمیق مثل RLHF یا یادگیری تقویتی با بازخورد انسانی تربیت میشن. در واقع این مدل‌ها یک هدف بیشتر ندارند: بیشترین نزدیکی به زبان آدمیزاد.

یکی از دلایلی که مدل‌هایی مثل GPT-2 یا Bloom زمان خودشون خیلی ترکوندند، این بود که اون موقع بهترین شکل ممکن رو برای تولید زبان داشتند اما خب GPT-3 و LLaMa 3.1 و …؛ به شدت در این زمینه بهتر عمل کردند.

مدل‌های زبانی بزرگ، معمولا اینطوری کار می‌کنند:

همون‌طوری که می‌بینید، کاربر یه محتوایی رو برای LLM فراهم می‌کنه که اینجا گفته recite the first law و بعد مدل، اومده بر اساس داده‌ای که انسان‌ها پیش‌تر بهش دادند، یک سری کلمه پیشنهاد میده. مثلا اینجا، در حال بیان قوانین سه‌گانه رباتیک ایزاک آسیموفه.

اما از این موضوع بگذریم، یک بحث دیگر هم که LLMها به خوبی می‌تونن درکش کنن و این برمی‌گرده به تعداد متغیرهایی که در داده ورودی دیدن، ارتباط معنایی بین کلمات می‌تونه باشه که خب با توجه به این که عمده LLMها در حال حاضر Human Feedback یا بازخورد انسانی در مرحله پیش‌آموزششون دخیله، چیز عجیبی نیست و ناظرین انسانی، بهشون بازخورد لازم رو میدن.

کاربردهای LLMها

کاربردهای LLMها از چیزی که فکر کنید بسیار بیشتره. در حال حاضر بسیاری از پروژه‌هایی که به شکل‌های مختلفی دارند با «متن» سر و کله می‌زنن، به نحوی LLM رو وارد کار و زندگیشون کردند. به همین خاطر هم لازم به ذکره که نمیشه دسته‌بندی خاصی ارائه کرد و چیزی که در ادامه فهرست می‌کنم در واقع بیشترین کاربردهای مدل‌های بزرگه.

  • تولید محتوا برای وبلاگ، وبسایت و MVP
  • تولید محتوا برای ویدئوهای یوتوب و اینستاگرام
  • تولید کد
  • تولید داستان برای بازی‌های رایانه‌ای
  • تولید کدهای SQL
  • و …

همونطوری که می‌بینید، به شدت این عزیزان، در حال استفاده در زمینه‌های مختلفن و خب یکپارچگی این‌ها با سیستم‌های عامل هم خودش یک داستان جداست.

کدام سیستم‌عامل‌ها، به هوش مصنوعی مجهز شدند؟

در حال حاضر مایکروسافت با ارائه Copilot و اپل با ارائه Apple Intelligence تا حد خوبی، هوش مصنوعی رو به سیستم‌های عاملشون آوردند.

همچنین اگر اشتباه نکنم دو سه ماه پیش بود که مایکروسافت ایده‌ای به اسم Copilot+PC رو مطرح کرد که کوپایلت، بیاد و حرکات کاربر رو زیرنظر بگیره و بعد بهش پیشنهاد بده چطور می‌تونه بهتر از کامپیوترش استفاده کنه و خب می‌دونید چه فاجعه حریم‌ خصوصی می‌تونست بشه!

اما در حال حاضر، این که LLMها بتونن سیستم‌عامل رو «کنترل کنن» چیزیه که در حد چندین پروژه آزمایشگاهی مونده و به اون شکل، تجاری‌سازی نشده. چیزی که این همه تا اینجا در موردش خوندید و از اینجا به بعد قراره تازه جذاب باشه :))

رویای کارپاتی: سیستم‌عامل مبتنی بر LLMها

چندی پیش، آندره کارپاتی (که از بزرگان هوش مصنوعی و علوم کامپیوتره) در یوتوب ویدئوی با عنوان مقدمه‌ای بر LLMها منتشر کرد و چیزی حدود یک ساعت در مورد پتانسیل‌های این مدل‌ها، حرف زد و در نهایت ایده LLM OS رو مطرح کرد 🙂

سیستم‌عامل مبتنی بر LLM چطور قراره کار کنه؟

خب بیایید بریم به همون گنو/لینوکس. وقتی شما «ترمینال» رو باز می‌کنید، قراره چه اتفاقی بی‌افته؟ آفرین قراره shell رو ببینید. بعدش چه اتفاقی می‌افته؟ شما شروع می‌کنید به وارد کردن دستورات سیستم‌عامل. مثلا با دستور ls می‌تونید بیایید و محتویات یک پوشه رو ببینید.

حالا فرض کنید جای این که دستورات ترمینال لینوکس رو حفظ کنید، به فارسی یا انگلیسی، برای کامپیوترتون توضیح بدید. این دقیقا میشه کاری که LLM قراره در سیستم‌عامل برای ما انجام بده.

چطور این اتفاق می‌افته؟ در اکثر زبان‌های برنامه‌نویسی ما قادر هستیم که از subprocessها استفاده کنیم. یعنی با کمک subprocessها و LLM می‌تونیم اینطوری کار رو پیش ببریم:

  • شما به سیستم‌عامل می‌گید که «برنامه X رو باز کن»
  • سیستم‌عامل از طریق یک رابط متنی یا صوتی، این دستور رو از شما می‌گیره و به LLM ارسال می‌کنه.
  • حالا LLM طوری تنظیم شده که اون رو به یک subprocess تبدیل کنه و اجراش کنه، کد مربوطه رو تولید و اجرا می‌کنه.
  • بعد از اجرا، برنامه X اجرا میشه (اونطوری که ازش خواستید) و نتیجه توسط LLM به شما گفته میشه.

خیلی دقیق بخواهید بهش نگاه کنید، میشه شبیه چیزی مثل Jarvis در فیلم‌های Iron Man یا حتی «سامانتا» در Her. حتی میشه گفت تا حد خوبی شبیه The Machine در سریال Person of Interest هم هست.

چالش‌های LLM OS

اما این ایده هم مثل سایر ایده‌های هوش مصنوعی، خالی از ایراد و چالش نیست. چندتا از چالش‌های بزرگش رو با هم بررسی کنیم:

  • LLM های قابل اجرا روی سیستم‌های شخصی معمولا خوب نیستن. خوب هم باشند معمولا به شدت کُند هستند.
  • LLMهای خوب، عمدتا باید از طریق وب در دسترس باشند.
  • این که افسار کامپیوتر رو بدیم دست یک موجودیت آنلاین، کمی با ایده حریم خصوصی در تضاده، بخصوص اگر بخواهیم این پروژه رو مبتنی بر لینوکس یا BSD پیش ببریم.

همین سه چالش کافیه تا فعلا چنین چیزی رو به درستی نتونیم داشته باشیم. با این که تلاش‌هایی هم در موردش شده.

جمع‌بندی

در نهایت باید گفت که ما کم کم به سمتی می‌ریم که کل «رابط کاربری» ما خلاصه بشه در «زبان». یعنی عمده رابط‌های کاربری از ما متن یا صدا بگیرند و تبدیلش کنن به کارهایی که ازشون خواستیم و خب این اتفاق خوبی می‌تونه باشه.

و خب با ظهور LLMها و پیش‌رفت زیرساخت‌های سخت‌افزاری، این امر با سرعت بیشتری در حال به وقوع پیوستنه و شما احتمالا تا چند سال دیگر، بتونید توزیعی از لینوکس رو نصب کنید که چنین امکانی در اختیارتون بذاره 🙂 یا روی مک و آیفونتون چنین امکانی داشته باشید.

در کل، پیشرفت جامعه بشری به کمک AI انتهای جالبی خواهد داشت، البته به شرط این که براش انتهایی بشه متصور شد!

موفق و خندون باشید.

Share

هرآنچه باید در مورد خودروهای خودران بدانید!

مدتی پیش بود که خبری شنیدم مبنی بر عرضه یک مینی‌تراک خودران از طرف کمپانی سوئدی ولوو (لینک) و به قدری برام جذاب بود که خواستم بسیار بیشتر از گذشته، در مورد مفهوم «خودروی خودران» تحقیق و تفحص کنم و حتی ازشون بنویسم. نتیجه شد که الان در حال نوشتن این مطلب هستم.

ابتدا که بحث خودروهای خودران خیلی مطرح شد، سال ۲۰۱۴ بود و تسلا قابلیت «خلبان خودکار» (یا البته بهتره در این مورد خاص، بگیم راننده خودکار) رو برای خودروهاش معرفی کرد. اگر می‌خواهید در مورد اتوپایلت تسلا بیشتر بدونید هم می‌تونید این لینک رو مطالعه کنید. ابتدا خیلی برام سوال بود که چطور میشه یک وسیله نقلیه مثل یک خودرو، کامیون و …؛ خودران باشه و نیازی به هیچ اپراتوری نداشته باشه. مثلا یکی از چیزایی که به ذهن من (و احتمالا خیلی‌های دیگه) می‌رسه، بینایی ماشین باشه. این درسته اما همه‌ش نیست.

خلاصه من دست به کی‌برد شدم تا در مورد خودروهای خودران و چیزهایی که ازشون فهمیدم به تفصیل بنویسم و تجربه و دانشم رو منتقل کنم.

هوش مصنوعی چطور یاد می‌گیره رانندگی کنه؟

خب برای این که این سوال رو پاسخ بدیم، اول لازمه که به یک سوال خیلی خیلی مهم‌تر پاسخ بدیم. ما انسان‌ها چطور یاد می‌گیریم رانندگی کنیم؟ اگر در این پاسخ از پروسه آموزش و آزمون آیین‌نامه راهنمایی و رانندگی صرف نظر بشه، ما پشت یک خودرو می‌نشینیم که یک دست کلاچ ترمز اضافه داره، روی اون تابلو و نشان مخصوصی نصب شده که به باقی راننده‌ها اطلاع میده که این ماشین مخصوص آموزشه و در نهایت، مربی ما به ما میگه که چطور ماشین رو راه بندازیم، کجا دنده عوض کنیم و کجا راهنما بزنیم و این‌ها.

بعد از این که مراحل آموزش و آزمون شهری تمام شه و ما موفق به اخذ گواهینامه رانندگی بشیم، تازه وارد فضای «واقعی» می‌شیم. البته در فضاهای واقعی اوضاع کمی تفاوت داره و تا حد زیادی اتفاقا بی‌ریخته. می‌پرسید چرا؟ چون که دیگه خودروی ما هیچ نشانی نداره که به بقیه بگه ما تازه‌کاریم و مربی هم کنار دستمون نیست (از حوصله این بحث خارجه اما یادم میاد چندسال پیش قرار بود برچسب «راننده تازه‌کار» به مدت سه‌ماه روی خودروی نوراننده‌ها چسبانده بشه) و احتمال زیاد اشتباهات کوچک ما حین رانندگی باعث بشن که مضطرب‌تر بشیم و اشتباهات بزرگی مرتکب شیم.

حالا از این بگذریم، کم کم یک موضوع مهم رو یاد می‌گیریم. موضوع چیه؟ این که «تابلوها، علائم، فرمان پلیس و … همه مهم هستند و باید بهشون توجه کرد و احترام گذاشت. اما مهم‌تر از آن‌ها، دیدن رانندگی باقی راننده‌هاست». اینجا اهمیت این موضوع کم کم روشن میشه که بفهمیم همه ما، قرار نیست عین هم رانندگی کنیم. خیلی‌ها هستند که برای هضم دل‌تنگی‌هاشون تخت‌گاز میرن. خیلی‌ها هستند که در لاین سرعت با سرعت ۴۰ تا میرن. خیلی‌ها هم درست رانندگی می‌کنن ولی راهنما نمیزنن و … . در واقع ما با تجربه می‌فهمیم که رفتار راننده‌ها چطوره و این رفتار رو آنالیز می‌کنیم و به نتایجی می‌رسیم که باعث میشن ما راننده بهتری بشیم.

حالا که در مورد رانندگی انسان اطلاعات داریم، ببینیم هوش مصنوعی چطور یاد می‌گیره؟ خیلی ساده‌ست. هوش مصنوعی هم ابتدا یک مربی نیاز داره. این مربی کیه؟ این مربی انسانه. یک نفر می‌نشینه پشت فرمان، یک دور مثلا مسیری رو طی می‌کنه و بعد از اون، هوش مصنوعی بر اساس اون دیتایی که دریافت کرده، شروع می‌کنه به آموزش دادن مدل خودش. سپس، این مدل مورد آزمون و خطا قرار می‌گیره تا به کیفیت لازم و راضی‌کننده برسه. بعد از اونه که این مدل، روی خودرو، مینی‌کامیون و … سوار میشه و یک سری آزمایش جدی‌تر روش صورت می‌گیره و در نهایت به محصول نهایی تبدیل میشه.

خودروهای خودران چه داده‌ای نیاز دارند؟

طبیعتا هرجا بحثی از هوش مصنوعی در میان باشه، نیازمند داده هستیم. گاهی این داده‌ها رو نیازه که خودمان پیدا و درست کنیم، گاهی هم باید این داده‌ها رو از جاهای مختلفی جمع‌آوری کنیم (برای این که با موضوع جمع‌آوری داده آشنا بشید هم می‌تونید این پست رو بخونید) و خب در مورد خودروهای خودران، ما نیاز داریم که داده اولیه و خام رو لااقل خودمون تهیه کنیم. باقی داده چی؟ می‌تونیم اون رو از طریق کسانی که خودروهای ما رو می‌خرند جمع‌آوری کنیم و مدل‌های خودمون رو بهبود بدیم.

حالا سوال پیش میاد که ما دقیقا چه داده‌ای نیاز داریم که به خودروی خودران بفهمونیم که باید خودران باشه؟ در این بخش از پست، سعی کردم تا حد امکان ساده‌ش کنم و توضیحش بدم. البته در نظر داشته باشید که این بخش ممکنه ناقص باشه و در آینده، کم کم می‌تونه بهبود پیدا کنه.

داده‌های علائم راهنمایی و رانندگی

خب هوش مصنوعی هم عین خودمون نیازمند اینه که آیین‌نامه رو بلد باشه. در واقع باید بتونه علائم رو تشخیص بده. البته مهم اینجا اینه که این علائم چی هستند، و بعد با باقی داده‌ای که دریافت می‌کنه بتونه در مورد نحوه رانندگی تصمیم‌گیری کنه. پس ابتدا لازمه که هزاران عکس مختلف از علائم رانندگی داشته باشیم و یک مدل خاص (معمولا از نوع Object Detection که خب می‌تونیم از مدل‌هایی مثل YOLO براش استفاده کنیم) براش آموزش بدیم. البته موضوعاتی مثل رنگ‌بندی علائم در کشورهای مختلف هم می‌تونه مساله‌ساز باشه که خب بعدتر می‌تونیم روی اون تصمیم بگیریم. مثلا یکی از این مسائل، «آبی» بودن چراغ سبز در کشور آلمانه. شما چه راه‌حلی براش دارید؟

تصویر مسیر

طبیعتا نیاز داریم که تصویری از مسیری که طی کردیم داشته باشیم. چرا؟ چون این تصویر هم به ما از موانع احتمالی، تابلوها، چراغ قرمز و … اطلاعات خوبی میده. این اطلاعات، با اطلاعاتی که از مدل قبلی کسب می‌کنیم می‌تونه به ما کمک کنه که در مسیری خاص، بهتر رانندگی کنیم. البته این هم باید در نظر بگیریم همین که در مسیری هستیم احتمال این که خودروهای دیگری هم حضور داشته باشند هست. این احتمال رو باید در نظر گرفت و طبیعتا تصویر مسیر می‌تونه از وضعیت ترافیک یک مسیر خاص هم به ما اطلاعات بده. همچنین از نوع خودروهای حاضر در مسیر، و از همه مهم‌تر، نحوه رانندگی سایرین در اون مسیر.

زاویه فرمان، میزان فشار روی پدال گاز و دفعات و شدت فشرده شدن ترمز

این هم مورد مهمیه. در واقع ما وقتی با خودرویی رانندگی می‌کنیم روی چند چیز همیشه کنترل داریم. در کیسی که ما راننده یک خودروی دستی هستیم، علاوه بر فرمان و گاز و ترمز، روی کلاچ و دنده هم کنترل داریم. اما از اونجا که خودروهای خودران عموما برقی هستند، جای «دنده عوض کردن» با Speed Control عوض شده (البته این به معنای نداشتن گیربکس یا دیفرانسیل نیست، فقط انتقال قدرت شکل دیگری به خودش گرفته) و به همین خاطر کلاچ و دنده دیگه حضور خاصی در این پروسه ندارند.

اما هنوز برای ما مهمه که چطور باید فرمان رو بچرخونیم، چطور گاز بدیم و چطور ترمز بگیریم. همه این موارد، موقع جمع‌آوری دیتا، جمع میشه. حالا موضوع اینه که این‌ها چه اهمیتی برای ما دارند؟ یکی از موارد مهم اینجا اینه که مدل ما می‌تونه بفهمه وقتی در یک فاصله خوبی ازش ماشینی قرار نگرفته، می‌تونه گاز بده. ولی وقتی ماشین مثلا در فاصله ده‌متریش قرار داره، باید کمتر گاز بده. وقتی ماشین در فاصله پنج‌متریشه، باید یواش یواش ترمز بگیره تا هم با اون ماشین برخورد نکنه و هم به ماشین‌های پشتی اطلاع بده که جلو راه بسته‌س و از این دست چیزها.

فاصله

خودروهای خودران، علاوه بر تعداد زیادی دوربین، تعداد خوبی سنسور هم برای تشخیص فواصل دارند. این سنسورها یا از نوع LiDAR (یا Light detection and ranging) یا فراصوت (Ultrasonic) یا حتی RADAR (که مخفف Radio detection and ranging است) یا ترکیبی از این موارد هستند. با استفاده از این سنسورها، فاصله از موانع، عابرین پیاده، خودروهای دیگر و … ثبت و ضبط میشه و بعدا به مدل هوش‌مصنوعی ما می‌تونه کمک بده که اینجا چه خبر بوده و در موقعیت مشابه، چه تصمیماتی باید اتخاذ کنه.

موارد دیگر

بسته به شرایطی که قراره خودروی خودران ما درش کار کنه، ما ممکنه نیاز به داده‌های دیگری داشته باشیم. به همین دلیل، از اسم بردن تک تک موارد اجتناب کرده و اگر نیاز شد بعدتر در مطلبی جداگانه در موردش خواهم نوشت.

قوانین استفاده از خودروهای خودران

در ایران هنوز بحثی از حضور خودروهای خودران مطرح نشده (و احتمالا از اونجایی که عمده این خودروها در حال حاضر ساخت امریکا هستند و هنوز حرفی از نمونه‌های ژاپنی، کره‌ای، چینی، آلمانی و … به میان نیست حالا حالاها هم مطرح نشه) و صرفا یک خبر از مخالفت پلیس راهور (لینک) با این موضوع به دست من رسیده ولی در باقی کشورها، بخصوص امریکا؛ به شدت روی قوانینی که مربوط به وسایل نقلیه خودران باشه کار میشه.

در حال حاضر، هیچ کشوری «خودروی ۱۰۰٪ بدون راننده» رو نمی‌پذیره و حتی خودروهایی که «بدون حضور راننده» به حرکت درمیان، نیازمند این هستند که توسط اپراتور کنترل بشن. این مورد، برای اینه که خودروها بدون هیچ راننده و کنترلی ممکنه موجب تصادف و آسیب به سایر خودروها، ساختمان‌ها و افراد بشن.

در مورد Auto Pilot هم که معمولا با حضور راننده‌ست، حتی قانون اینه که خودروها باید مطمئن بشن که راننده از اتوپایلت برای خوابیدن، بازی کردن با گوشی و … استفاده نمی‌کنه. مثلا در ویدئویی که در مورد تسلای مدل ۳ ساخته شده (لینک) نشون داده میشه که خودرو خودش ازتون میخواد که هر یک دقیقه یک بار، فرمان رو تکون بدید تا بفهمه که بیدارید یا حواستون پرت نشده. در ویدئوی دیگر هم نشون داده شد که اگر شما به هشدارهای ماشین توجه نکنید، ماشین خاموش میشه و حتی نمی‌ذاره چندین ساعت از اتوپایلت استفاده کنید (لینک) و تمامی این موارد، تابع قوانینیه که برای این خودروها چیده شدند.

در حال حاضر شاید قوانین شفافی برای خودران‌ها نداشته باشیم، اما قطعا چندین سال دیگر این مورد بهبود پیدا می‌کنه و قوانین جهان‌شمولی براشون تدوین خواهد شد. چرا که خودران‌ها قراره آینده صنعت حمل و نقل باشند.

جمع‌بندی و سخن آخر

تقریبا از وقتی تسلا انقدر انقلابی عمل کرد اخبارش رو دنبال می‌کردم. اما چیزی که هیچوقت در عمق و بطنش فرو نرفته بودم، تکنولوژی‌هایی بود که در محصولاتش استفاده می‌کرد. به همین خاطر، پیش نیامده بود که در مورد خودروهای خودران چیزی بنویسم (با این که سال‌ها پیش در حال کار روی پروژه خودروی دست‌ساز بودم و این پیگیری می‌تونست بهم در ساخت پروژه خودم هم کمک کنه). خلاصه پس از مدت‌ها این رو نوشتم و وقتشه یک جمع‌بندی ریزی داشته باشیم.

همونطوری که فهمیدیم، خودروهای خودران ترکیبی از چند علم و چند صنعت هستند. شاید تلالو مهندسی مکانیک، مهندسی برق و مهندسی کامپیوتر و همکاریشون با یکدیگر در همین حوزه خلاصه شده باشه. ایده خودرویی که نیاز به راننده نداشته باشه البته ایده جدیدی نیست و تقریبا از دهه ۷۰ میلادی، این ایده وجود داشته. موضوع مهم اجرا و پیاده‌سازی بوده که خب در سال‌های اخیر شاهدش بودیم. در ادامه فهمیدیم که خودروهای خودران نیازمند داده‌های زیادی هستند و از قضا این داده‌ها رو نمیشه به سادگی از اینترنت دانلود کرد و به خورد یک مدل داد و نیاز داریم که مدل رو با داده‌های به‌روز و به‌هنگام؛ آموزش بدیم.

بحث قانون هم در این میان به پیش کشیده شد و خب این موضوع، حداقل جایی که تاثیر مستقیم روی زندگی انسان مشهوده، بحث بسیار مهمیه و من شخصا امیدوارم شاهد نگارش قانون‌های درست و حسابی برای این موضوع باشیم.

سخن آخر هم این که مثل همیشه ممنونم از این که وقت گذاشتید و این مطلب رو خوندید و امیدوارم که این مطلب، مفید فایده واقع شده باشه 🙂

Share

نقشه راه بینایی ماشین برای مبتدیان

مدتی میشه که در جامعه بینایی ماشین، دارم به صورت خیلی جدی در مورد بینایی‌ماشین و ملزوماتش، تولید محتوا می‌کنم. از همین رو، تصمیم گرفتم که در قالب این پست وبلاگی، در مورد این که بینایی ماشین چیه و کجا کاربرد داره و چرا باید بلدش باشیم و از کجا باید شروع کنیم؛ بنویسم.

این مطلب، اصلا و ابدا قرار نیست «آموزش» باشه و همونطوری که ابتدای مطلب گفتم، صرفا «نقشه راه» برای شماست.

بینایی ماشین، بینایی کامپیوتری

بینایی ماشین چیه؟

بینایی ماشین در واقع یکی از شاخه‌های علوم کامپیوتر محسوب میشه که هدفش، اینه که پردازش و درک تصاویر دیجیتال رو ساده‌تر کنه. بینایی ماشین در ترکیب با هوش مصنوعی، رباتیکز و سایر شاخه‌های مرتبط با علوم و یا مهندسی کامپیوتر، می‌تونه به بهبود زندگی افراد کمک شایسته‌ای کنه.

شاخه‌های زیادی برای بینایی ماشین داریم اعم از تشخیص چهره، تشخیص متن، خواندن نویسه‌های نوری (OCR)، واقعیت افزوده، واقعیت مجازی و … . هرکدوم از این شاخه‌ها، تخصص‌های خاص خودش رو می‌طلبه که در ادامه مطالب بهش خواهیم پرداخت.

کجا کاربرد داره؟

کاربردهای بینایی ماشین، می‌تونه در بسیاری از جاها باشه. نمونه‌ش مثلا همین پروژه‌ای که من زده بودم:

اندازه‌گیری اشیا با بینایی ماشین

همونطور که می‌بینید، این پروژه برای اندازه‌گیری اشیاء مختلف با کمک بینایی ماشین ساخته شده بود. همچنین، یک پروژه دیگر این بود که حروف اشاره (که مورد استفاده ناشنوایانه) رو تشخیص میداد. در دنیای امروز تقریبا در هر جایی که کوچکترین استفاده‌ای از تصویر میشه، مثل ویرایش و ساخت تصویر؛ تشخیص اقلام درون تصویر و …؛ بینایی ماشین داره در ابعاد وسیعی استفاده میشه.

چرا باید بلدش باشیم؟

بایدی وجود نداره. یادگیریش به عنوان یک مهارت، کاملا میتونه شما رو به یک پروژه خفن، کار یا پول نزدیک کنه. حتی اگر قصد ندارید در این زمینه کار کنید هم می‌تونید با یادگیری بینایی ماشین به سادگی برای خودتون یک تفریح سالم بسازید.

از کجا شروع کنیم؟

خب مهم‌ترین بخش این مطلب دقیقا همینجاست که قراره با هم یاد بگیریم که چه پیش‌نیازهایی برای یادگیری بینایی ماشین وجود داره. هر پیش‌نیاز رو با هم کمی بررسی خواهیم کرد 🙂

  • برنامه‌نویسی پایتون: از اونجایی که پایتون زبان ساده‌ایه و اکثر آدمها دنبال یادگیریشن (و این یعنی منابع آموزشی خیلی خوبی براش هست) بهتره که پایتون رو تا حد خوبی یاد بگیرید. حد خوب، یعنی حدی که شما بتونید یک نرم‌افزار ساده ولی کاربردی رو باهاش توسعه بدید (مثلا یه ماشین حساب یا چیزی مشابه اون).
  • مقدمات یادگیری ماشین: بینایی ماشین به شکلی یکی از زیرمجموعه‌های هوش مصنوعی محسوب میشه. این نشون میده که اگر شما به الگوریتم‌ها و تئوری یادگیری ماشین و … آشناییت کافی داشته باشید، می‌تونید در این فیلد هم پیشرفت قابل توجهی کنید. گذشته از این، یادگیری ماشین می‌تونه بهتون در «هوشمندسازی» بیشتر نرم‌افزارهای بینایی ماشین کمک کنه.
  • آشنایی مختصر با جاوا یا سی++: از اونجایی که پایتون یک زبان مفسری محسوب میشه، ممکنه خیلی‌جاها (مثلا در یک برد آردوینو) نتونیم مستقیم ازش استفاده کنیم و همچنین استفاده ازش پیچیدگی خاصی به همراه داشته باشه؛ بهتره یک زبان سطح پایین‌تر مثل سی++ هم کمی آشنا باشیم. همچنین اگر قصد این رو دارید که اپلیکیشن تلفن همراه بنویسید که از بینایی ماشین استفاده می‌کنه، بد نیست دستی هم در جاوا داشته باشید.
  • آشنایی با سخت‌افزارها و سیستم‌های نهفته (Embedded Systems): یکی از کاربردهای عظیم بینایی ماشین، فعالیت‌های Surveillance می‌تونه باشه (البته این که این فعالیت‌ها بد یا خوب هستند بحث جداییه). یکی از نمونه‌هاش می‌تونه «سیستم حضور و غیاب با تشخیص چهره» باشه، یا حتی «دفترچه تلفن هوشمند» و … 🙂 به همین دلیل، بد نیست که کمی با سیستم‌های نهفته و سخت‌افزارهایی مثل Jetson Nano و Raspberry Pi آشنایی داشته باشید.
  • آشنایی با لینوکس: این واقعا نیاز به توضیح خاصی نداره، روایت داریم اگر لینوکس بلد نیستی، برنامه‌نویس نیستی 🙄

لیست بالا به شما کمک می‌کنه که محکم‌تر در زمینه بینایی ماشین، قدم بردارید. هرجاش رو که بلد نباشید می‌تونید با جستجو پیداش کنید و یاد بگیرید و از یادگیری، لذت ببرید 🙂

سخن آخر

از این که وقت گذاشتید و این مطلب رو خوندید ممنونم. در آینده، در قالب پست‌های وبلاگ در مورد پروژه‌های بینایی ماشین و سایر پروژه‌های باحال، صحبت خواهم کرد. امیدوارم که این مطلب مفید فایده واقع شده باشه و وقتی که براش گذاشتید ارزشش رو داشته باشه.

Share

چطور نخستین دنبال‌کنندگان اینستاگرام را دریافت کنیم؟

اینستاگرام یک شبکه اجتماعی بسیار خوب برای بازاریابی، ارائه محصول و در نهایت اشتراک‌گذاری تصاویریه که به شناخت بهتر شما یا برندتون کمک می‌کنه. قرار نبود چنین مطلبی بنویسم چون فکر می‌کردم خیلی از راه‌های تضمینی که در اینترنت وجود دارند، بعد مدتی ممکنه اسپم تشخیص داده بشن و خوب نباشن. اما خب، یکی از این راه‌ها رو تستی رفتم و باید بگم که نتیجه گرفتم 🙂 در کمتر از ۲۴ ساعت دنبال‌کنندگان صفحه‌ای که برای آزمایش ساخته بودم، به ۱۶ رسید.

از آنجایی که احتمالا این قضیه دغدغه شما هم هست، در این پست اون رو با شما به اشتراک می‌ذارم که دنبال‌کنندگان صفحاتتون رو بتونید افزایش بدید.

ساخت صفحه

اولین قدم شما برای دریافت تعداد خوبی دنبال‌کننده باید ساخت صفحه باشه. ساخت صفحه، کاری نداره. به همین خاطر هم در اینجا راحت ازش گذر می‌کنیم و به راه‌اندازی نخستین صفحه می‌پردازیم.

تکمیل مشخصات

اولین قدم برای این که صفحه شما بتونه دنبال‌کننده دریافت کنه، اینه که مشخصاتش کامل باشه. در واقع شما به این موارد نیاز دارید:

  • تبدیل صفحه به صفحه Professional (در صورتی که صفحه واقعا قراره یک صفحه حرفه‌ای و مرتبط با برند شما باشه)
  • تصویر نمایه
  • بیوگرافی
  • لینک‌هایی مثل شماره تماس و وبسایت هم اگر دارید قرار بدید بد نیست. چرا که موتورهای جستجو ممکنه از همون‌ها بتونن افراد رو به شما برسونن.

قرار دادن پست

گرچه قرار دادن پست اجباری نیست، اما بهتره که برای صفحه تازه تاسیس خودتون حدود ۳ تا ۹ پست تهیه کرده باشید. احتمالا اگر صفحه شما مربوط به بیزنس شما، برند شخصی یا هنرتون باشه، متاعی که در صفحه قرار بدید در دسترستون هست و می‌تونید به سادگی این کار رو انجام بدید.

اگر پست آماده نداریم چی؟ مشکلی نداره. فقط نرخ دنبال شدن کمی میاد پایین‌تر و فکر کنم برای شروع اونقدرام بد نباشه. بهرحال قرار نیست ما مثل یک شخص نامدار یا اینفلوئنسر، دنبال‌کننده و … جذب کنیم.

به دنبالِ دنبال‌کننده گشتن …

خب شما دنبال‌کنندگان خودتون رو میخواید درست؟ اینجا جاییه که من فرمولش رو به شما می‌گم. اول از همه ببینیم که دنبال‌کننده (فالوئر/Follower) کیه؟ شخصیه که بخاطر محتوایی که شما تولید می‌کنید میاد و پیج رو دنبال می‌کنه. حالا وقتی محتوا کمه یا محتوا نداریم چطور می‌تونیم دنبال‌‌کننده جذب کنیم؟ برای پاسخ به این سوال، من سه احتمال زیر رو براتون توضیح میدم:

  • دنبال‌کننده ارگانیک: دنبال‌کننده ارگانیک، یعنی یک شخص یا بیزنس حقیقی پشت حساب کاربریش نشسته. بهترین نوع دنبال‌کننده بلاشک، همینه. چرا؟ چون می‌دونید که افرادی هستند که برای محتوای شما فالوتون کردند و با تقلب کردن یک نرم‌افزار شخص ثالث، به دنبال‌کنندگان شما اضافه نشدند.
  • دنبال‌کننده جعلی: حساب‌های جعلی که خودتون می‌سازید، ربات‌هایی که دنبال‌کننده رو در زمان کم به حساب شما اضافه می‌کنن و … از این دست هستند. این دنبال‌کننده‌ها فعالیتی ندارند و فقط عدد و رقم الکی به شما اضافه می‌کنن. داشتن تعداد زیاد دنبال‌کننده بدون فعالیت و تعامل مفید، به هیچ دردی نمیخوره.
  • دنبال‌کننده ارگانیکِ جعلی: شاید باورتون نشه اما این مورد هم وجود داره. افرادی هستند که صفحاتی رو میسازند، تعداد خوبی دنبال‌کننده جذب می‌کنند و بعد صفحه رو به قیمت‌هایی که معمولا پایین هم نیستند، می‌فروشند. این فالوئرها، خوبن. اما مفید نیستند. اکثرا آدمهایین که برای دنبال کردن دیگران، هزینه‌ای دریافت کردند یا در سیستم «داداشم فالو شه» خیلی معرفت به خرج دادند. به اینستاگرامشون سر نمیزنن و براشون مهم نیست در فلان صفحه چی بگذره و معمولا هر چندروز یک بار اینستاگرام رو باز می‌کنند، یه لایکی میزنن و میرن. اینها نه بدن و نه خوب، برای رقم‌سازی نیم‌چه ارگانیک، می‌تونن کمک باشن.

حالا تا اینجا آمدیم، بیایید فرمول تضمینی دریافت نخستین دنبال‌کننده‌ها رو بررسی کنیم 🙂 این که چطوری به دست میان و ما باید چه کار کنیم. حقیقتش، کار سختی نیست و حوصله میخواد. شاید هم بد نباشه که این وسط، اتوماسیونی صورت بگیره (احتمالا آموزش نوشتن ابزار اتوماسیونش هم به زودی منتشر کنم 😁).

مرحله اول: پیدا کردن تیک‌های آبی

اول از همه، ما نیاز به یک سری صفحه داریم که اصطلاحا «تیک آبی» خوردند یا به عبارت بهتر، وریفای شدند. وریفای بودن صفحات، به این معناست که یک درجه خوبی از شهرت رو دارند. همین امر باعث میشه که دنبال‌کنندگان زیادی هم داشته باشند. گذشته از اون، بسیاری از دنبال‌کنندگان اون صفحات هم دنبال افرادی می‌گردن که در حوزه‌های مشابه فعالن. پس بازی، یک بازی برد-برد خواهد بود. حالا مرحله مرحله این کارها رو انجام بدیم؟

  • مشخص کردن حوزه کاری: در یک سناریو خیالی، فرض کنیم صفحه ما در حوزه موسیقی فعاله و موسیقیش محدود به ایران نیست. اولین کاری که باید بکنیم چیه؟ این که افرادی رو پیدا کنیم که در حوزه موسیقی فعالن و شهرت بین‌الملل دارند. مثلا گروهی مثل Metallica (طبیعتا با توجه به سبک کاری خودمون و سلیقمون میتونه عوض بشه) یک گروه فوق مشهوره و چند میلیون دنبال‌کننده داره. یک لیست از این افراد تهیه می‌کنیم.
  • دنبال کردن افراد لیست: الان کار ما راحت شده. افراد درون لیست رو یک به یک دنبال می‌کنم.
  • دنبال کردن دنبال‌کنندگان و دنبال‌شوندگان: این مورد بسیار مهمه، در بین دنبال‌کنندگان و دنبال‌شوندگان همون تیک‌های آبی، باید دنبال باقی تیک‌های آبی باشید! مثلا در یک گروه موسیقی ممکنه اعضاش هم خودشون تیک آبی داشته باشند. پس بهتره که فالوشون کنیم 🙂

تا اینجای بحث خوبه؟ نه؟ کار راحتی نیست ولی سخت هم نیست. به شما ایده کلی میده که این روش چطور کار می‌کنه. حالا باید بریم سراغ مرحله دوم 🙂

مرحله دوم: تکرار این عملیات به مدت چند روز

تیک‌های آبی رو فالو کردید؟ بسیار هم عالیه. زاکربرگ به شما افتخار می‌کنه. حالا نوبت اینه که همه رو آنفالو کنیم (و خیر، شما مسخره پدر اینستاگرام نیستید و این روشیه که ما پیش می‌گیریم) و دوباره فالو کنیم.

این حرکت رو بهتره ۲ الی ۳ روز ادامه بدیم. احتمالا روز دوم متوجه خواهید شد که یک عده شما رو فالو کردند و معمولا عددش هم خوبه (برای من حدود ۱۶ نفر در یک روز بود که واقعا رقم خوبیه!). به این شیوه میشه در حدود ۳ روز، نزدیک به پنجاه نفر به دنبال‌کنندگان اضافه کرد. برای شروع، خوبه؛ نیست؟

و مرحله بعد چیه؟ مرحله‌ای دیگه در کار نیست. همین فرمون برید جلو تا به رقم دلخواه در دنبال‌کنندگان خودتون برسید. اما یادتون نره که اینستاگرام مثل هر پلتفرم دیگری، یک پلتفرم تولید محتواست و نه پلتفرم فالو/آنفالو بازی. در همین حینی که دارید فالو و آنفالو می‌کنید یادتون باشه که محتوای مناسب هم تولید کنید که ورودیتون از هشتگ‌ها و پستاتون هم خوب باشه.

نکات مهم در این روش

خب، شاید بد نباشه نکات مهمی رو بهتون گوشزد کنم که صفحه‌تون از بین نره. چرا که خیلی از ماها صفحه رو صرفا برای برند خودمون میسازیم و اگر از دست بره، بازسازیش کار حضرت فیل میشه. به همین خاطر به این نکات توجه کنید:

  • بیش از ۱۰۰ صفحه رو در روز دنبال نکنید. اینستاگرام ممکنه رفتار فالو-آنفالو رو به شکل اسپم و یا «فعالیت مشکوک» تشخیص بده و حساب شما رو ببنده.
  • سعی کنید این روش رو بیش از حد ادامه ندید. ممکنه در آینده این روش دیگه جواب نباشه و شما طبیعتا سرد می‌شید نسبت به ادامه فعالیت.
  • سعی کنید در صفحاتی که دنبال می‌کنید لایک بزنید، کامنت بذارید و … . این هم به اون صفحه و هم به اینستاگرام نشون میده که شما واقعا فعالیت ارگانیک دارید و فعالیتتون رباتی نیست.
  • در نهایت، بگم که روش‌های افزایش فالوئر زیادند اما تضمینی نیستند. یک زمانی، صرف فالو کردن افراد در اینستاگرام کافی بود. یادمه که در هشتگ‌ها می‌شد چرخید و تعداد زیادی رو فالو کرد و اونها اصطلاحا «بک» می‌دادند. اما الان این روش کاملا منسوخ شده. روشی هم که در این مطلب پوشش دادم احتمالا به زودی منسوخ میشه پس تا معتبره، سعی کنید ازش استفاده کنید و حالشو ببرید 😁

جمع‌بندی

اول از همه، باید بگم که این مطلب برای من یک استراحت در میان مطالبی که در مورد مهندسی اجتماعی می‌نویسم بود. دوم این که، خودم تجربه استفاده از این روش رو داشتم وگرنه من معمولا آدمی نیستم که چنین مطالبی رو بنویسم و نشر بدم. در نهایت، بگم که این مطلب آموزش «پولدار شدن» به شما نیست! پس چیه؟ آموزشیه برای دریافت تعداد خوبی مخاطب که بتونید هنرتون یا کسب و کارتون رو به دنیا معرفی کنید. همونطوری که گفتم بعدها می‌تونه روش‌های بهتری هم براش ارائه بشه. پس اگر مثل اینفلوئنسرها دیده نشدید هم نگران نباشید. همیشه روش خوبی براش هست 🙂

و در آخر، ممنونم از این بابت که وقت گذاشتید و مطلب من رو خوندید. شما هم اگر روش خوبی برای اینستاگرام مارکتینگ دارید، ممنون میشم با من به اشتراک بذارید 🙂

Share

بفرمایید ماحی تازه. یا رساله‌ای در باب صفحات جعلی و فیشینگ.

شاید الان با دیدن عنوان پست به خودتون گفتید که «ای بابا اینم که بی‌سوات از آب دراومد»، اما باید بگم نه، اشتباه نیست 🙂 عبارت «ماحی‌گیری» به نوعی بومی‌شده واژه Phishing به حساب میاد. فیشینگ یا ساخت صفحه جعلی، در واقع یک روش رایج برای انجام عملیات مهندسی اجتماعی و دزدیدن اطلاعات شماست.

در این مطلب، در مورد فیشینگ و راهکارهای جلوگیری ازش قراره صحبت کنیم. پس آماده باشید که بریم سراغ اصل مطلب 🙂

فیشینگ و راه‌های مبارزه با آن

سناریوی یک حمله فیشینگ

فرض کنید که یک ظهر تابستانی داغه، شما تازه از سر کار برگشتید و قصد دارید خونه‌تون رو کمی خلوت کنید. اولین چیزی که به ذهنتون می‌رسه چیه؟ اینه که وسایلی که به نظرتون اضافی هستند رو بفروشید. فرض کنیم که شما قراره یک میز یا یک صندلی رو بفروشید. پس گوشی‌تون رو برمی‌دارید، از وسیله مورد نظر تعدادی عکس تهیه می‌کنید، وارد اپلیکیشن دیوار می‌شید و بعد از اون یک آگهی فروش درست می‌کنید.

همه‌چی خوبه، نه؟ 🙂 من میگم نه! چون بعد از این که شما آگهی‌تون رو منتشر می‌کنید و تایید میشه، یک پیام دریافت می‌کنید. در پیام ذکر میشه که مبلغ کمی، مثلا در حد هزار یا دو هزار تومان باید پرداخت کنید وگرنه آگهی حذف میشه. اینجا دو قسمت رو باید در نظر بگیریم که بعدا بهش برسیم:

  • هزار یا دو هزار تومان یا حتی ده هزار تومان پول زیادی نیست. معمولا راحت پرداختش می‌‌کنیم.
  • ما از این که آگهی‌مون حذف بشه ترس داریم. چرا؟ چون احتمالا به پول نیاز داشتیم که یه وسیله اضافی رو برای فروش قرار دادیم.

حالا شما روی لینک – بی‌توجه به مشخصاتش – کلیک می‌کنید. وارد اون لینک می‌شید و می‌بینید که یک درگاه پرداخت کاملا درسته. اطلاعات کارتتون رو وارد می‌کنید و بعد از چند روز متوجه می‌شید که کارتتون خالی شده.

پی‌نوشت : عمده این بحث برمی‌گرده به زمانی پیش از رمز پویا. گرچه الان هم برای رمز پویا راه‌های زیادی هست که بتونن ازتون بقاپنش.

نقاط ضعف ما در حملات فیشینگ

سناریوی بالا رو خوندید؟ دو مورد نقطه ضعف رو نوشتم. شاید یکیش صرفا بازی روان باشه اما عمدتا نقاط ضعف ما در این حملات (و در کل مهندسی اجتماعی) هدف قرار گرفته. در ادامه نقاط ضعفی که ممکنه برای شما دردسر بشه یا ماحی‌گیرها ازش استفاده کنند رو ذکر می‌کنیم:

  • ترس عقب‌ماندگی یا FOMO – به این شکل که ممکنه به شکل فروش رمزارز، فروش بلیت بخت‌‌آزمایی و …، ازتون اطلاعاتتون رو بگیرند و جای دیگر استفاده کنند.
  • ترس از پرونده‌سازی – این به نظر ممکنه احمقانه بیاد، اما حقیقتیه که وجود داره. چطور؟ ممکنه شما در معرض شکایت‌های متعدد بوده باشید (مثلا شرکت ورشکسته‌ای دارید و تعداد طلبکارانتون زیاده و …) و به این شکل ماحی‌گیر میتونه با استفاده از این ترس شما، با صفحه جعلی از سامانه‌هایی که برای پلیس یا قوه قضاییه طراحی شدند، اطلاعات خصوصی‌ای مثل سابقه کیفری شما رو علنی کنه.
  • ترس از دست دادن – در کیس‌های خاصی مثل فروش روی دیوار، ترس از دست دادن به شدت می‌تونه قوی عمل کنه. با این ایده که شما پول لازم دارید و برای حذف نشدن آگهی هرکاری ممکنه بکنید.
  • لو دادن اطلاعات – این مورد کمی حساس‌تره. در مکالمات روزمره، اینترکشن‌های شبکه‌های اجتماعی و … مراقب‌تر باشید تا خدای نکرده، اطلاعاتی که بتونن محل زندگی، محل کار و … شما رو مشخص کنن رو اساسی لو ندید. چون همین این‌ها، می‌تونن باعث بشن که شما راحت‌تر طعمه فیشینگ بشید.

ما الان نقاط ضعف خودمون رو می‌دونیم. پس چطور می‌تونیم جلوی این حملات رو بگیریم؟ حقیقت تلخی هست و اون هم این که نمی‌تونیم. هکر، کلاهبردار، دزد و … همیشه هستند. همیشه هم مشغول کارند. کاری که ما می‌تونیم بکنیم کاری مثل ماسک زدن مقابل کروناست. این مثال ماسک رو چرا مدام به کار می‌برم؟ چون می‌دونیم که ماسک هم صد در صد ما رو مقابل بیماری مصون نمی‌کنه (از شما چه پنهون که حتی واکسن‌ها هم نمی‌کنن، فقط خطر بیماری رو کاهش میدن) ولی شانس ابتلا رو میاره پایین. پس ما هم شانس این که به تور ماحی‌گیرها بیفتیم رو میاریم پایین.

ماسک مناسب برای ویروس فیشینگ

در این بخش از مطلب، صرفا راهکارهایی که باعث شدن خودم تا الان کمتر مورد این حملات قرار بگیرم رو در اختیارتون میذارم. طبیعتا این راهکارها می‌تونن در طول زمان کم‌تر شن یا کلا دیگه معتبر نباشن. اما برای امروز (۱۷ خرداد ۱۴۰۰) کاملا کار می‌کنند.

  • چک کردن HTTPS محل‌هایی که دیتا وارد می‌کنیم (این راهکار الان هم اعتبار زیادی نداره، چرا که ماحی‌گیر می‌تونه به سادگی بره سراغ این که از Let’s encrypt یک گواهی SSL بگیره)
  • چک کردن آدرس وبسایت با آدرس‌های معتبر (مثلا gmail صفحه ورودش mail.google.com/login خواهد بود، چیزی جز این احتمالا حقیقی نیست. البته دامین گوگل بسته به منطقه و VPN شما می‌تونه متفاوت باشه)
  • چک کردن اسامی، آدرس‌ها و وبسایت‌ها در اینترنت و درآوردن سوابقشون (حتی دایرکتوری‌هایی برای این قضایا ساخته شدند)
  • وارد کردن اطلاعات غلط اگر به درگاه یا صفحه لاگین مشکوکیم (چرا که معمولا وقتی اطلاعات رو غلط وارد کنیم، صفحه به صفحه واقعی ری‌دایرکت میشه، اینطوری به ماحی‌گیرا هم آدرس غلط دادیم)
  • اطلاع‌رسانی در باب این تیپ دزدی‌ها به بقیه 🙂

در کل، اگر حواسمون نباشه احتمال این که سرمون کلاه بره خیلی خیلی زیاده. حواستون باشه که با چک کردن یک سری موارد ساده، به سادگی می‌تونیم از شر دزد و … در امان باشیم.

جمع‌بندی

در نهایت، ازتون بابت این که مطلب رو خوندید تشکر می‌کنم. دوم، امیدوارم این سلسله مطالب به دردتون خورده باشه. سوم، شما چه راهکاری برای جلوگیری از فیشینگ دارید؟ 🙂

Share