0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【機械学習_2】ブログ風_学習記録

Posted at

【完全版】AI・機械学習の「なぜ?」をスッキリ解決!重要キーワード25選を用語解説付きで徹底解説

「AI(人工知能)や機械学習って、ニュースでよく聞くけど何だか難しそう…」
「G検定の勉強を始めたけど、専門用語が多くて挫折しそう…」

そんな風に感じていませんか?

AI・機械学習の世界は、確かに専門用語のオンパレード。しかし、一つ一つの言葉の「意味」と「なぜそうなるのか」という背景を理解すれば、一気に視界が開けてきます。

この記事では、AI・機械学習を学ぶ上で避けては通れない25個の重要キーワードを、Q&A形式でわかりやすく解説します。専門的な回答に加えて、「身近な例え話」を交えた具体的な解説を用意しました。

さらに、各項目で登場する専門用語には、その都度「用語補足」を加えています。 これにより、わからない言葉が出てきてもすぐにその場で意味を確認でき、スムーズに読み進めることができます。

この記事を読み終える頃には、AIの基本的な仕組みや学習の裏側が理解でき、ニュースの解説や専門書の内容がより深くわかるようになっているでしょう。

それでは早速、AIの世界を探検していきましょう!


第1章:まずはここから!機械学習の基本タイプ

機械学習は、その「学び方」によっていくつかの種類に分けられます。まずは、最も基本となる学習タイプから見ていきましょう。

【Q1】
質問: 教師あり学習とは何ですか?
回答: 入力データと正解ラベルのペアを使い,未知データのラベルや数値を識別・予測する学習手法。
解説: 「問題(入力データ)」と「模範解答(正解ラベル)」が揃ったドリルをAIに繰り返し学習させる方法です。例えば、大量の「猫の写真(入力)」に「これは猫です(正解ラベル)」という情報を付けて学習させると、AIは猫の特徴を学び、見たことのない新しい写真からでも猫を識別できるようになります。
<br>
*用語補足

  • 入力データ (Input Data): AIに与える、学習の元となる情報。写真、文章、数値など、様々な形式があります。
  • 正解ラベル (Label / Ground Truth): 入力データに対する「正しい答え」のこと。教師あり学習には不可欠な要素です。
  • 未知データ (Unknown Data): 学習には使っていない、AIが初めて見るデータのこと。このデータに対する予測精度がモデルの真の実力となります。

【Q2】
質問: 教師あり学習で連続値を予測する問題のことを何と呼びますか?
回答: 回帰問題。
解説: ある数値と別の数値の間の関係性を見つけ出し、連続的な値を予測する問題です。例えば、「過去の気温とアイスクリームの売上」のデータを学習させ、「明日の気温が30度なら、売上は1,000個だろう」といったように、具体的な数値をピンポイントで予測するのが回帰です。
<br>
*用語補足

  • 連続値 (Continuous Value): 1、1.1、1.11...のように、数値が途切れることなく連続している値。身長、温度、価格、売上個数などが該当します。
  • 回帰 (Regression): 入力データから、連続的な数値を予測するタスクを指します。グラフ上で点と点の関係を結ぶ「線を引く」ようなイメージです。

【Q3】
質問: 教師あり学習で離散値を予測する問題のことを何と呼びますか?
回答: 分類問題。
解説: データを、あらかじめ決められた複数のカテゴリ(クラス)のどれに属するかを予測する問題です。例えば、メールの文章の特徴から「迷惑メール」か「通常メール」のどちらかに仕分ける、画像に写っている動物が「犬」「猫」「鳥」のどれなのかを当てる、といった問題が分類にあたります。
<br>
*用語補足

  • 離散値 (Discrete Value): 「赤・青・黄」や「0か1か」のように、値が飛び飛びで、一つ一つが独立している値。カテゴリデータとも呼ばれます。
  • 分類 (Classification): データがどのグループ(クラス)に属するかを予測するタスクです。
  • カテゴリ / クラス (Category / Class): 分類問題における「正解」の選択肢となるグループのこと。「犬」「猫」「鳥」などがそれぞれ一つのクラスになります。

【Q4】
質問: 教師なし学習では出力がないとき,何を学習しますか?
回答: データ内部の構造や隠れたパターン(クラスタや分布など)。
解説: 正解ラベルがない大量のデータの中から、AI自身がデータに潜むパターンや共通点を見つけ出す手法です。例えば、顧客の購買履歴データから、AIが自動的に「節約志向グループ」「新商品好きグループ」などのように顧客をグループ分け(クラスタリング)するようなケースがこれにあたります。
<br>
*用語補足

  • クラスタリング (Clustering): 正解がないデータの中から、似た者同士を集めてグループ(クラスタ)に分ける教師なし学習の一手法です。

【Q5】
質問: 強化学習とは何ですか?
回答: 環境から報酬を受け取りながら行動方策を改善し,累積報酬を最大化する学習手法。
解説: AIエージェントが、ある状況下で「試行錯誤」しながら行動し、その結果得られる「報酬(スコアやコインなど)」を最大化するような行動ルールを自律的に学習する手法です。例えば、将棋AIは、良い手を打てば「勝利に近づく」という報酬を得て、悪い手を打てば罰則を受け、膨大な対局を通して最善の指し方を学んでいきます。
<br>
*用語補足

  • エージェント (Agent): 学習し、行動する主体のこと。ゲームのプレイヤーやロボットなどがこれにあたります。
  • 環境 (Environment): エージェントが行動する舞台。ゲームの世界や、現実世界そのものを指します。
  • 報酬 (Reward): エージェントの行動の結果として与えられる評価。プラスの報酬(ご褒美)もマイナスの報酬(罰則)もあります。
  • 行動方策 (Policy): ある状況(状態)のときに、どのような行動をとるかを決めるルールのこと。強化学習の目的は、この方策を最適化することです。

第2章:モデルを賢く育てる!学習のコツと注意点

AIモデルはただデータを学習させるだけでは不十分です。「過学習」という大きな落とし穴を避け、未知のデータにも対応できる「応用力」を身につけさせる必要があります。ここでは、そのための重要なテクニックと考え方を見ていきましょう。

【Q6】
質問: 過学習(オーバーフィッティング)とは何ですか?
回答: 訓練データにだけ都合よく合わせすぎて,新しいデータでは性能が落ちる状態。
解説: テスト勉強で、問題集の問題と答えを「丸暗記」しすぎた状態です。その問題集では満点が取れても、少し応用されただけの初見の問題には全く対応できなくなります。AIも同様に、学習データに特化しすぎてしまい、未知のデータに対する予測精度(汎化性能)が著しく低下してしまう現象を指します。
<br>
*用語補足

  • 訓練データ (Training Data): モデルを学習させるために使用するデータセット。AIにとっての「教科書」や「問題集」です。
  • 汎化性能 (Generalization Performance): 学習に使っていない未知のデータに対する予測能力のこと。この性能が高いほど「賢い」モデルと言えます。

【Q7】
質問: 過学習を防ぐ代表的な方法は何ですか?
回答: 正則化,ドロップアウト,早期終了,データ増強,交差検証など。
解説: 丸暗記(過学習)を防ぐための勉強法のようなものです。例えば、モデルの複雑さにペナルティを課して単純なルールを学ばせたり(正則化)、学習データのかさ増しをしたり(データ増強)、学習の途中で性能の改善が見られなくなったらそこで打ち切ったり(早期終了)するなどの工夫で、未知のデータにも対応できる応用力を養います。
<br>
*用語補足

  • データ増強 (Data Augmentation): 手持ちの学習データを加工して、水増しする技術。例えば、画像を回転させたり、明るさを変えたりして、擬似的に新しいデータを作り出します。

【Q10】
質問: 正則化の主な種類と特徴は?
回答: L1は重みを0に寄せ特徴選択効果,L2は重みを小さく保ち滑らかなモデル,Elastic Netは両方の良さを併せ持つ。
解説: 過学習を防ぐためにモデルの複雑さに「罰則(ペナルティ)」を与える手法です。L1正則化は、多くの特徴の重みを完全にゼロにすることで、予測に不要な特徴を自動的に取り除く(特徴選択)効果があります。L2正則化は、重みの値を全体的に小さく抑えることで、滑らかで安定したモデルを作る傾向があります。
<br>
*用語補足

  • 正則化 (Regularization): モデルが複雑になりすぎる(過学習する)のを防ぐための仕組み全般を指します。
  • 重み (Weight): モデル内部のパラメータの一種で、各入力データが予測にどれだけ重要かを示す係数。学習によって自動調整されます。
  • 特徴選択 (Feature Selection): たくさんある入力データの特徴の中から、予測に本当に役立つものだけを選び出すことです。

【Q18】
質問: 早期終了(Early Stopping)はなぜ有効ですか?
回答: 検証誤差が増え始めた時点で学習を止め,過学習を防ぎ計算コストも削減できるから。
解説: 過学習を防ぐためのテクニックの一つです。学習を進めると、学習データに対する精度は向上し続けますが、ある時点を境に、未知のデータ(検証用データ)に対する精度が悪化に転じることがあります。この「悪化が始まった瞬間」を検知して学習を打ち切ることで、モデルが学習データに固執しすぎるのを防ぎ、最適な状態で学習を完了させることができます。
<br>
*用語補足

  • 検証用データ (Validation Data): 学習中にモデルの性能を評価し、過学習が起きていないかを確認したり、ハイパーパラメータを調整したりするために使うデータ。AIにとっての「模擬試験」です。
  • 検証誤差 (Validation Error): 検証用データに対するモデルの予測誤差。この値が上昇に転じたら過学習のサインです。

【Q21】
質問: バイアス‐バリアンストレードオフとは何ですか?
回答: モデルの単純さによる誤差(バイアス)と複雑さによる不安定さ(バリアンス)の両方を最小化するバランス問題。
解説: モデルの予測誤差に関する二律背反の関係です。「バイアス」は、モデルが単純すぎてデータの特徴を捉えきれないことによる、的はずれな予測の度合い。「バリアンス」は、モデルが複雑すぎて学習データに過敏に反応し、データが少し変わるだけで予測結果が大きくブレてしまう不安定さ。バイアスを減らそうとモデルを複雑にするとバリアンスが増え、逆もまた然り。この両者のバランスをとることが重要です。
<br>
*用語補足

  • バイアス (Bias): モデルの予測の「偏り」のこと。バイアスが高いと、データの本質的な関係を見抜けず、常に的外れな予測をしてしまいます(頑固な勘違い)。
  • バリアンス (Variance): 学習データが変わったときの、モデルの予測結果の「ばらつき」のこと。バリアンスが高いと、些細な違いに過敏に反応してしまいます(神経質で不安定)。

【Q22】
質問: ドロップアウトとは何ですか?
回答: 学習中にニューラルネットのユニットを確率的に無効化し,過学習を防ぐ正則化手法。
解説: ニューラルネットワークの過学習を防ぐ代表的な手法です。学習の各ステップで、ネットワーク内の一部のニューロン(ユニット)をランダムに選んで一時的に「休ませる(情報を伝達させない)」ようにします。これにより、ネットワークが特定のニューロンの働きに過度に依存することを防ぎ、より頑健で汎化性能の高いモデルが作られます。
<br>
*用語補足

  • ニューラルネットワーク (Neural Network): 人間の脳の神経細胞(ニューロン)のつながりを模した数理モデル。現代のAI技術の中核を担っています。
  • ニューロン / ユニット (Neuron / Unit): ニューラルネットワークを構成する最小単位。入力信号を受け取り、処理して次のニューロンに出力する役割を持ちます。

第3章:AI開発の舞台裏!モデルの調整と評価方法

優れたAIモデルは、開発者による地道な調整と客観的な評価によって生まれます。ここでは、AI開発の裏側を支える重要な概念と手法をご紹介します。

【Q8】
質問: パラメータとハイパーパラメータの違いは?
回答: パラメータは学習で自動的に決まる値,ハイパーパラメータは学習前に人が設定する値。
解説: AIモデルを料理に例えると、調理の過程でデータという食材から自動的に決まる「塩加減」や「火加減」がパラメータです。一方、料理を始める前に人間が決める「レシピの種類(モデルの種類)」や「調理時間の上限(学習回数)」などがハイパーパラメータにあたります。
<br>
*用語補足

  • パラメータ (Parameter): モデルがデータから学習する過程で、自動的に調整・最適化される内部変数。主に「重み」や「バイアス」などを指します。
  • ハイパーパラメータ (Hyperparameter): モデルの学習方針を決める、人間が事前に設定する外部の変数。学習率やバッチサイズ、モデルの層の数などがあります。

【Q11】
質問: 損失関数と評価指標の違いは?
回答: 損失関数は学習中に最小化する尺度,評価指標は学習後に性能を測る尺度。
解説: 「損失関数」は、学習中にモデルの予測と正解との「誤差」を測るためのもので、AIはこの誤差をできるだけ小さくしようと学習を進めます(AIのための道しるべ)。一方、「評価指標」は、学習が終わったモデルの最終的な実力を、人間が理解しやすい形(例:正解率95%)で評価するための指標です(人間のための成績表)。
<br>
*用語補足

  • 損失関数 (Loss Function): 予測の「悪さ」を測る関数。この値が小さいほど良い予測であることを意味し、学習の目標となります。
  • 評価指標 (Evaluation Metric): モデルの「良さ」を測る指標。正解率、適合率、再現率など、タスクの目的に応じて様々なものが使われます。

【Q9】
質問: 交差検証(クロスバリデーション)の目的は?
回答: データを何通りにも分けて学習・評価を繰り返し,汎化性能を安定して推定すること。
解説: 作成したモデルの性能をより正確に評価するための手法です。手持ちのデータを複数のグループに分け、そのうちの一つをテスト用、残りを学習用として性能を評価します。これをテスト用のグループを入れ替えながら繰り返し行い、その平均スコアを見ることで、データの偏りに左右されない、より信頼性の高いモデルの評価が可能になります。
<br>
*用語補足

  • 交差検証 (Cross-Validation): データを分割して学習とテストを繰り返すことで、モデルの汎化性能を頑健に評価する手法。K-分割交差検証などが有名です。

【Q16】
質問: ROC曲線とAUCはどう解釈しますか?
回答: 真陽性率と偽陽性率を描くのがROC曲線,曲線下の面積AUCが1.0に近いほど高い分類性能を示す。
解説: 2値分類モデルの性能を評価する指標です。「ROC曲線」は、モデルの判定基準を動かしたときに、「見つけるべきものを正しく見つけられた割合(真陽性率)」と「間違って見つけてしまった割合(偽陽性率)」の関係をプロットしたグラフです。グラフが左上に膨らむほど高性能で、その曲線下の面積である「AUC」は、0から1の値をとり、1に近いほど理想的な分類モデルであることを示します。
<br>
*用語補足

  • 真陽性率 (True Positive Rate / Recall): 実際に陽性であるデータのうち、正しく陽性と予測できた割合。「見逃しの少なさ」を示します。
  • 偽陽性率 (False Positive Rate): 実際には陰性であるデータのうち、間違って陽性と予測してしまった割合。「お手つきの多さ」を示します。
  • AUC (Area Under the Curve): ROC曲線の下側の面積のこと。モデルの性能を0から1の単一の数値で表すことができ、比較に便利です。

【Q17】
質問: シャドーテストとは何ですか?
回答: 本番と同じデータ分布でモデルの公平性やバイアスを事前検証する手法。
解説: 新開発したAIモデルを、いきなり本番のシステムに組み込むのではなく、まずは裏側で「影武者(シャドー)」として動かす検証方法です。既存システムと並行して同じデータを処理させ、その挙動や出力を比較することで、ユーザーに影響を与えることなく、新モデルの性能や安全性を本番環境で確認できます。

【Q24】
質問: ハイパーパラメータ探索でグリッドサーチとランダムサーチの違いは?
回答: グリッドサーチは設定値を格子状に全探索,ランダムサーチは範囲内を確率的に抽出して探索。
解説: 最適なハイパーパラメータを見つけるための探索手法です。「グリッドサーチ」は、候補となる値を等間隔に設定し、その全ての組み合わせをしらみつぶしに試す方法です。確実ですが時間がかかります。「ランダムサーチ」は、指定された範囲内からランダムに値の組み合わせを選んで試す方法で、重要なパラメータが少数である場合に、グリッドサーチより効率的に良い解を見つけられることがあります。

【Q19】
質問: ベイズ最適化とはどんなハイパーパラメータ探索法ですか?
回答: サロゲートモデルで探索空間を予測し,確率的に次の試行点を選ぶ効率的な最適化法。
解説: 優れたAIモデルを作るための最適なハイパーパラメータを効率的に見つけ出す手法です。闇雲に試すのではなく、過去の試行結果から「どのパラメータの組み合わせが良さそうか」という予測モデルを構築し、その予測に基づいて次に試すべき最も有望な点を賢く選択します。これにより、試行回数を大幅に削減できる可能性があります。
<br>
*用語補足

  • サロゲートモデル (Surrogate Model): 「代理モデル」とも呼ばれます。計算コストの大きい複雑なモデルの代わりに、その挙動を模倣する軽量なモデルのことです。

第4章:これだけは知っておきたい!代表的なアルゴリズムと技術

機械学習には、特定の問題を解くために編み出された様々なアルゴリズム(手法)が存在します。ここでは、特に有名で強力なものをいくつか見ていきましょう。

【Q12】
質問: バギングとブースティングの違いは?
回答: バギングは複数モデルを並列に学習して平均化,ブースティングは誤りを順に修正しながら弱学習器を累積する。
解説: どちらも複数の弱いモデルを組み合わせて強力なモデルを作るアンサンブル学習の手法です。「バギング」は、複数のモデルをそれぞれ独立に学習させ、最後に多数決などで結果を統合します(並列作業)。「ブースティング」は、1つ目のモデルが間違えた部分を2つ目のモデルが重点的に学習し、さらにその間違いを3つ目が…というように、直列的にモデルを改善していきます。
<br>
*用語補足

  • アンサンブル学習 (Ensemble Learning): 複数の学習モデルを組み合わせて、単独で使うよりも高い性能を得ようとする手法の総称です。「三人寄れば文殊の知恵」をAIで実現します。
  • 弱学習器 (Weak Learner): それ単体ではあまり性能が高くない、シンプルな学習モデルのことです。

【Q13】
質問: SVMのカーネルトリックとは?
回答: 入力を高次元へ暗黙に写像し,線形分離できないデータも超平面で分離可能にする計算手法。
解説: 2次元の平面上では直線で分けられない複雑に配置されたデータも、3次元空間に持ち上げることで一枚の平面でスパッと分けられることがあります。カーネルトリックは、実際にデータを高次元に変換することなく、あたかも高次元で計算したかのような結果を効率的に得るための数学的なテクニックです。
<br>
*用語補足

  • SVM (Support Vector Machine): 分類や回帰に用いられる強力なアルゴリズムの一つ。データ間の境界線(マージン)を最大化することで、高い汎化性能を目指します。
  • 線形分離 (Linearly Separable): データを一本の直線や一つの平面で完全に分離できる状態のことです。
  • 超平面 (Hyperplane): 3次元空間における「平面」を、さらに高次元に一般化したもの。データを分割する境界線として機能します。

【Q14】
質問: 代表的な活性化関数と特徴は?
回答: ReLUは計算が速く勾配消失を緩和,Sigmoid/Tanhは確率解釈やゼロ中心性があるが深層で勾配が消えやすい。
解説: ニューラルネットワークにおいて、ニューロンからの入力信号を次のニューロンへどう伝えるかを決める重要な関数です。ReLUはシンプルで計算効率が良く、深層学習で広く使われます。Sigmoidは出力を0から1の間に収めるため確率として解釈しやすく、古くから使われていますが、層が深いと学習が停滞する「勾配消失問題」を起こしやすいという特徴があります。
<br>
*用語補足

  • 活性化関数 (Activation Function): ニューロンの発火(情報の伝達)を制御する関数。これがないと、ニューラルネットワークはただの線形モデルになってしまいます。
  • 勾配消失問題 (Vanishing Gradient Problem): ニューラルネットワークの層が深くなるにつれて、学習に必要な信号(勾配)がどんどん小さくなり、最終的に学習が進まなくなる現象です。

【Q15】
質問: CNNとRNNの使い分けは?
回答: CNNは画像・局所パターンに強い,RNNは系列データの時間的依存に強い。
解説: 「CNN(畳み込みニューラルネットワーク)」は、空間的なパターン認識に優れ、画像の特定部分の特徴(輪郭や模様など)を捉えるのが得意なため、画像認識で絶大な力を発揮します。「RNN(再帰型ニューラルネットワーク)」は、時系列のパターン認識に優れ、過去の情報を記憶しながら次のデータを予測できるため、自然言語処理(文章の文脈理解)や音声認識、株価予測などに用いられます。
<br>
*用語補足

  • CNN (Convolutional Neural Network): 畳み込み層という特殊な層を持ち、画像から特徴を抽出するのが得意なネットワークです。
  • RNN (Recurrent Neural Network): ネットワーク内にループ構造を持ち、過去の情報を保持できるため、時系列データの扱いに長けています。
  • 系列データ (Sequential Data): 文章や音声、時系列株価のように、データの「順序」に意味があるデータのことです。

【Q25】
質問: 転移学習とは何ですか?
回答: 既存モデルで学んだ知識を新しい関連タスクに流用し,少量データでも高性能を得る学習法。
解説: ある分野で大量のデータを使って学習させた既存のモデル(学習済みモデル)を、別の関連するタスクに応用する手法です。例えば、大量の一般的な画像で学習したモデルの知識を、特定の「医療画像の診断」というタスクに流用します。これにより、ゼロから学習させるよりもはるかに少ないデータと時間で、高い性能のモデルを構築できます。
<br>
*用語補足

  • 学習済みモデル (Pre-trained Model): 大規模なデータセットで既に学習が完了しているモデルのこと。このモデルをベースにすることで、効率的な開発が可能になります。
  • タスク (Task): AIに解かせたい具体的な問題のこと。「画像の分類」「文章の生成」などがタスクにあたります。

第5章:一歩進んだ理解へ!統計的な考え方

最後に、AIの根底にある統計的な考え方に触れておきましょう。これらを理解すると、AIが「なぜそのように振る舞うのか」がより深く見えてきます。

【Q20】
質問: 強化学習における価値関数と方策の関係は?
回答: 価値関数は状態や行動の良さを数値化し,その情報を使って方策(行動ルール)を改善する。
解説: 「価値関数」は、ある盤面や状況の「良さ」を点数化したものです。例えば、将棋で「この盤面は有利だから価値が高い」と評価します。一方、「方策」は、具体的な次の一手、つまり行動ルールです。AIは、「より価値が高くなるような次の一手はどれか?」と考え、方策を更新していきます。つまり、価値関数という「評価基準」をもとに、最善の「行動ルール」である方策を学んでいく関係です。
<br>
*用語補足

  • 価値関数 (Value Function): ある状態や、ある状態である行動をとったときに、将来的に得られる報酬の期待値を表す関数。
  • 方策 (Policy): 各状態でどの行動をとるかを決める戦略やルールのこと。

【Q23】
質問: ベイズ統計での事前分布と事後分布の違いは?
回答: 事前分布は観測前の信念,事後分布はデータを見た後に更新された信念。
解説: 「事前分布」は、私たちがデータを見る前に持っている、ある事象に対する「主観的な確率の予測や思い込み」です。これに対し、「事後分布」は、実際にデータを観測した結果を用いて、その初期の予測を更新した後の、より現実に即した確率分布です。つまり、「データを得る前の信念」が「データによって更新された後の信念」に変わる、という関係です。
<br>
*用語補足

  • ベイズ統計 (Bayesian Statistics): 事前の知識に、観測データを加えることで、知識を更新していくという考え方に基づく統計学の一分野です。
  • 事前分布 (Prior Distribution): データを見る前に設定する、パラメータに対する確率分布。
  • 事後分布 (Posterior Distribution): 観測データを考慮して更新された、パラメータの確率分布。

まとめ:点と点をつなげて、AIの全体像を掴もう!

お疲れ様でした!25個のキーワードを一気に見てきましたが、いかがでしたでしょうか?

一つ一つの用語はパズルのピースのようなものです。最初はバラバラに見えても、それぞれの意味やつながりを理解していくことで、「AI・機械学習」という大きな絵が少しずつ見えてきたのではないかと思います。

今回ご紹介した知識は、AI関連のニュースを深く理解したり、G検定のような資格試験に挑戦したり、あるいはご自身の仕事にAIを活用するヒントを探したりと、様々な場面であなたの強力な武器となるはずです。

ぜひこの記事をブックマークして、わからなくなった時にいつでも見返せる「辞書」として活用してください。ここから始まるあなたのAI学習の旅を、心から応援しています!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?